diff mbox series

[v19,45/45] sg: bump version to 4.0.12

Message ID 20210524010147.94845-46-dgilbert@interlog.com
State Superseded
Headers show
Series sg: add v4 interface | expand

Commit Message

Douglas Gilbert May 24, 2021, 1:01 a.m. UTC
Now that the sg version 4 interface is supported:
  - with ioctl(SG_IO) for synchronous/blocking use
  - with ioctl(SG_IOSUBMIT) and ioctl(SG_IORECEIVE) for
    async/non-blocking use
Plus new ioctl(SG_IOSUBMIT_V3) and ioctl(SG_IORECEIVE_V3)
potentially replace write() and read() for the sg
version 3 interface. Bump major driver version number
from 3 to 4.

The main new feature is the removal of the fixed 16 element
array of requests per file descriptor. It is replaced by
a xarray (eXtensible array) in their parent which is a
sg_fd object (i.e. a file descriptor). The sg_request
objects are not freed until the owning file descriptor is
closed; instead these objects are re-used when multiple
commands are sent to the same file descriptor.

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
---
 drivers/scsi/sg.c      | 11 ++++++-----
 include/uapi/scsi/sg.h |  4 ++--
 2 files changed, 8 insertions(+), 7 deletions(-)

Comments

Hannes Reinecke May 25, 2021, 8:36 a.m. UTC | #1
On 5/24/21 3:01 AM, Douglas Gilbert wrote:
> Now that the sg version 4 interface is supported:

>    - with ioctl(SG_IO) for synchronous/blocking use

>    - with ioctl(SG_IOSUBMIT) and ioctl(SG_IORECEIVE) for

>      async/non-blocking use

> Plus new ioctl(SG_IOSUBMIT_V3) and ioctl(SG_IORECEIVE_V3)

> potentially replace write() and read() for the sg

> version 3 interface. Bump major driver version number

> from 3 to 4.

> 

> The main new feature is the removal of the fixed 16 element

> array of requests per file descriptor. It is replaced by

> a xarray (eXtensible array) in their parent which is a

> sg_fd object (i.e. a file descriptor). The sg_request

> objects are not freed until the owning file descriptor is

> closed; instead these objects are re-used when multiple

> commands are sent to the same file descriptor.

> 

> Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>

> ---

>   drivers/scsi/sg.c      | 11 ++++++-----

>   include/uapi/scsi/sg.h |  4 ++--

>   2 files changed, 8 insertions(+), 7 deletions(-)

> 

> diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c

> index d47efed3a3ca..1f89d3d4cfbe 100644

> --- a/drivers/scsi/sg.c

> +++ b/drivers/scsi/sg.c

> @@ -7,13 +7,14 @@

>    *

>    * Original driver (sg.c):

>    *        Copyright (C) 1992 Lawrence Foard

> - * Version 2 and 3 extensions to driver:

> - *        Copyright (C) 1998 - 2019 Douglas Gilbert

> + * Version 2, 3 and 4 extensions to driver:

> + *        Copyright (C) 1998 - 2021 Douglas Gilbert

> + *

>    */

>   

> -static int sg_version_num = 30901;  /* [x]xyyzz where [x] empty when x=0 */

> -#define SG_VERSION_STR "3.9.01"		/* [x]x.[y]y.zz */

> -static char *sg_version_date = "20190606";

> +static int sg_version_num = 40012;  /* [x]xyyzz where [x] empty when x=0 */

> +#define SG_VERSION_STR "4.0.12"		/* [x]x.[y]y.zz */

> +static char *sg_version_date = "20210522";

>   

>   #include <linux/module.h>

>   

> diff --git a/include/uapi/scsi/sg.h b/include/uapi/scsi/sg.h

> index 6fce44607613..079ef6c57aea 100644

> --- a/include/uapi/scsi/sg.h

> +++ b/include/uapi/scsi/sg.h

> @@ -12,9 +12,9 @@

>    *   Copyright (C) 1992 Lawrence Foard

>    *

>    * Later extensions (versions 2, 3 and 4) to driver:

> - *   Copyright (C) 1998 - 2018 Douglas Gilbert

> + *   Copyright (C) 1998 - 2021 Douglas Gilbert

>    *

> - * Version 4.0.11 (20190502)

> + * Version 4.0.12 (20210111)

>    *  This version is for Linux 4 and 5 series kernels.

>    *

>    * Documentation

> 

Reviewed-by: Hannes Reinecke <hare@suse.de>


Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Kernel Storage Architect
hare@suse.de                              +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer
diff mbox series

Patch

diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index d47efed3a3ca..1f89d3d4cfbe 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -7,13 +7,14 @@ 
  *
  * Original driver (sg.c):
  *        Copyright (C) 1992 Lawrence Foard
- * Version 2 and 3 extensions to driver:
- *        Copyright (C) 1998 - 2019 Douglas Gilbert
+ * Version 2, 3 and 4 extensions to driver:
+ *        Copyright (C) 1998 - 2021 Douglas Gilbert
+ *
  */
 
-static int sg_version_num = 30901;  /* [x]xyyzz where [x] empty when x=0 */
-#define SG_VERSION_STR "3.9.01"		/* [x]x.[y]y.zz */
-static char *sg_version_date = "20190606";
+static int sg_version_num = 40012;  /* [x]xyyzz where [x] empty when x=0 */
+#define SG_VERSION_STR "4.0.12"		/* [x]x.[y]y.zz */
+static char *sg_version_date = "20210522";
 
 #include <linux/module.h>
 
diff --git a/include/uapi/scsi/sg.h b/include/uapi/scsi/sg.h
index 6fce44607613..079ef6c57aea 100644
--- a/include/uapi/scsi/sg.h
+++ b/include/uapi/scsi/sg.h
@@ -12,9 +12,9 @@ 
  *   Copyright (C) 1992 Lawrence Foard
  *
  * Later extensions (versions 2, 3 and 4) to driver:
- *   Copyright (C) 1998 - 2018 Douglas Gilbert
+ *   Copyright (C) 1998 - 2021 Douglas Gilbert
  *
- * Version 4.0.11 (20190502)
+ * Version 4.0.12 (20210111)
  *  This version is for Linux 4 and 5 series kernels.
  *
  * Documentation