[PATCH v16 45/45] sg: bump version to 4.0.12

Douglas Gilbert
2021-02-20T02:07:56Z

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 c4a8c189fd87..61eeb24c7a95 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 = "20210208";

#include <linux/module.h>

diff --git a/include/uapi/scsi/sg.h b/include/uapi/scsi/sg.h
index 11b58b279241..33109f3d5ed3 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
--
2.25.1