The Linux 2.4 SCSI subsystem HOWTO

Douglas Gilbert

      dgilbert@interlog.com
     

Revision History
Revision 1.32001-04-15Revised by: dpg
ATAPI CDROM section, alter title, U320, iSCSI
Revision 1.22001-03-25Revised by: dpg
Information about scu, dt, "Alt" sequences, more notes
Revision 1.12001-01-22Revised by: dpg
Add osst description, _EXTRA_DEVS limitations

This document describes the SCSI subsystem as the Linux kernel enters the 2.4 production series. An external view of the SCSI subsystem is the main theme. Material is included to help the system administration of the Linux SCSI subsystem. There are also brief descriptions of ioctl()s and interfaces that may be relevant to those writing applications that use this subsystem.


Table of Contents
1. Introduction
2. Architectural Overview
3. Names and Addresses
3.1. SCSI Addressing
3.2. Device Names
3.3. Device Names in devfs
3.4. Device Names in scsidev
4. Kernel Configuration
5. Boot Parameters
6. Modules and their Parameters
7. Proc pseudo file system
8. Mid Level, Unifying layer
8.1. boot parameters
8.2. module parameters
8.3. proc interface
9. Upper level drivers
9.1. Disk driver (sd)
9.1.1. sd boot parameters
9.1.2. sd module parameters
9.2. CDROM driver (sr or scd)
9.2.1. sr boot parameters
9.2.2. sr module parameters
9.2.3. sr proc interface
9.2.4. ATAPI cdroms
9.3. Tape driver (st)
9.3.1. st boot parameters
9.3.2. st module parameters
9.3.3. st proc interface
9.3.4. osst driver for OnStream devices
9.4. Generic driver (sg)
9.4.1. sg boot parameters
9.4.2. sg module parameters
9.4.3. sg proc interface
10. Lower Level drivers
10.1. Pseudo drivers
11. Raw devices
12. Devfs pseudo file system
A. Common bus types (SCSI and other)
B. Changes between lk 2.2 and 2.4
B.1. Mid level changes
B.2. sd changes
B.3. sr changes
B.4. st changes
B.5. sg changes
C. Troubleshooting
D. Performance, Test and Debugging tools
E. Compile options and System calls including ioctls
E.1. Mid level
E.1.1. Mid level compile options
E.1.2. Mid level ioctls
E.2. sd driver
E.2.1. sd compile options
E.2.2. sd ioctls and user interface
E.3. sr driver
E.3.1. sr compile options
E.3.2. sr ioctls and user interface
E.4. st driver
E.4.1. st compile options
E.4.2. st ioctls and user interface
E.5. sg driver
E.5.1. sg compile options
E.5.2. sg ioctls and user interface
F. References, Credits and Corrections