scsi: docs: scsi-generic: Multiple cleanups

Make the heading be concise yet still descriptive.
This makes the subsystem table of contents more readable (IMO).

Spell "CDROM" as "CD-ROM".
Capitalize "Linux".

Use https instead of http for URLs.

Drop the Linux Documentation Project URL for the SCSI generic HOWTO
since it hasn't been updated since 2002. Use Doug Gilbert's URL
for it instead.

Drop some outdated documentation & references.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/20230518212749.18266-8-rdunlap@infradead.org
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Cc: Doug Gilbert <dgilbert@interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Randy Dunlap 2023-05-18 14:27:45 -07:00 committed by Martin K. Petersen
parent 66fcd6026c
commit 8ebddfeef5

View File

@ -1,15 +1,15 @@
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
======================================= ========================
Notes on Linux SCSI Generic (sg) driver SCSI Generic (sg) driver
======================================= ========================
20020126 20020126
Introduction Introduction
============ ============
The SCSI Generic driver (sg) is one of the four "high level" SCSI device The SCSI Generic driver (sg) is one of the four "high level" SCSI device
drivers along with sd, st and sr (disk, tape and CDROM respectively). Sg drivers along with sd, st and sr (disk, tape and CD-ROM respectively). Sg
is more generalized (but lower level) than its siblings and tends to be is more generalized (but lower level) than its siblings and tends to be
used on SCSI devices that don't fit into the already serviced categories. used on SCSI devices that don't fit into the already serviced categories.
Thus sg is used for scanners, CD writers and reading audio CDs digitally Thus sg is used for scanners, CD writers and reading audio CDs digitally
@ -22,7 +22,7 @@ and examples.
Major versions of the sg driver Major versions of the sg driver
=============================== ===============================
There are three major versions of sg found in the linux kernel (lk): There are three major versions of sg found in the Linux kernel (lk):
- sg version 1 (original) from 1992 to early 1999 (lk 2.2.5) . - sg version 1 (original) from 1992 to early 1999 (lk 2.2.5) .
It is based in the sg_header interface structure. It is based in the sg_header interface structure.
- sg version 2 from lk 2.2.6 in the 2.2 series. It is based on - sg version 2 from lk 2.2.6 in the 2.2 series. It is based on
@ -33,34 +33,24 @@ There are three major versions of sg found in the linux kernel (lk):
Sg driver documentation Sg driver documentation
======================= =======================
The most recent documentation of the sg driver is kept at the Linux The most recent documentation of the sg driver is kept at
Documentation Project's (LDP) site:
- http://www.tldp.org/HOWTO/SCSI-Generic-HOWTO - https://sg.danny.cz/sg/
This describes the sg version 3 driver found in the lk 2.4 series. This describes the sg version 3 driver found in the lk 2.4 series.
The LDP renders documents in single and multiple page HTML, postscript Documentation (large version) for the version 2 sg driver found in the
and pdf. This document can also be found at: lk 2.2 series can be found at
- http://sg.danny.cz/sg/p/sg_v3_ho.html - https://sg.danny.cz/sg/p/scsi-generic_long.txt.
Documentation for the version 2 sg driver found in the lk 2.2 series can
be found at http://sg.danny.cz/sg/. A larger version
is at: http://sg.danny.cz/sg/p/scsi-generic_long.txt.
The original documentation for the sg driver (prior to lk 2.2.6) can be The original documentation for the sg driver (prior to lk 2.2.6) can be
found at http://www.torque.net/sg/p/original/SCSI-Programming-HOWTO.txt found in the LDP archives at
and in the LDP archives.
A changelog with brief notes can be found in the - https://tldp.org/HOWTO/archived/SCSI-Programming-HOWTO/index.html
/usr/src/linux/include/scsi/sg.h file. Note that the glibc maintainers copy
and edit this file (removing its changelog for example) before placing it
in /usr/include/scsi/sg.h . Driver debugging information and other notes
can be found at the top of the /usr/src/linux/drivers/scsi/sg.c file.
A more general description of the Linux SCSI subsystem of which sg is a A more general description of the Linux SCSI subsystem of which sg is a
part can be found at http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . part can be found at https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO .
Example code and utilities Example code and utilities
@ -73,8 +63,8 @@ There are two packages of sg utilities:
and earlier and earlier
========= ========================================================== ========= ==========================================================
Both packages will work in the lk 2.4 series however sg3_utils offers more Both packages will work in the lk 2.4 series. However, sg3_utils offers more
capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and capabilities. They can be found at: https://sg.danny.cz/sg/sg3_utils.html and
freecode.com freecode.com
Another approach is to look at the applications that use the sg driver. Another approach is to look at the applications that use the sg driver.
@ -83,7 +73,7 @@ These include cdrecord, cdparanoia, SANE and cdrdao.
Mapping of Linux kernel versions to sg driver versions Mapping of Linux kernel versions to sg driver versions
====================================================== ======================================================
Here is a list of linux kernels in the 2.4 series that had new version Here is a list of Linux kernels in the 2.4 series that had the new version
of the sg driver: of the sg driver:
- lk 2.4.0 : sg version 3.1.17 - lk 2.4.0 : sg version 3.1.17
@ -92,10 +82,10 @@ of the sg driver:
- lk 2.4.17 : sg version 3.1.22 - lk 2.4.17 : sg version 3.1.22
.. [#] There were 3 changes to sg version 3.1.20 by third parties in the .. [#] There were 3 changes to sg version 3.1.20 by third parties in the
next six linux kernel versions. next six Linux kernel versions.
For reference here is a list of linux kernels in the 2.2 series that had For reference here is a list of Linux kernels in the 2.2 series that had
new version of the sg driver: the new version of the sg driver:
- lk 2.2.0 : original sg version [with no version number] - lk 2.2.0 : original sg version [with no version number]
- lk 2.2.6 : sg version 2.1.31 - lk 2.2.6 : sg version 2.1.31
@ -106,9 +96,8 @@ new version of the sg driver:
- lk 2.2.17 : sg version 2.1.39 - lk 2.2.17 : sg version 2.1.39
- lk 2.2.20 : sg version 2.1.40 - lk 2.2.20 : sg version 2.1.40
The lk 2.5 development series has recently commenced and it currently The lk 2.5 development series currently contains sg version 3.5.23
contains sg version 3.5.23 which is functionally equivalent to sg which is functionally equivalent to sg version 3.1.22 found in lk 2.4.17.
version 3.1.22 found in lk 2.4.17.
Douglas Gilbert Douglas Gilbert