<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML ><HEAD ><TITLE >The Linux 2.4 SCSI subsystem HOWTO</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="NEXT" TITLE="Introduction" HREF="intro.html"></HEAD ><BODY CLASS="book" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="BOOK" ><A NAME="index" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" ><A NAME="AEN2" ></A >The Linux 2.4 SCSI subsystem HOWTO</H1 ><H3 CLASS="author" ><A NAME="AEN5" ></A >Douglas Gilbert</H3 ><DIV CLASS="affiliation" ><DIV CLASS="address" ><P CLASS="address" ><br> <TT CLASS="email" ><<A HREF="mailto:dgilbert at interlog dot com" >dgilbert at interlog dot com</A >></TT ><br> </P ></DIV ></DIV ><P CLASS="copyright" ><A HREF="ln74.html" >Copyright</A > © 2001, 2002, 2003, 2004 Douglas Gilbert</P ><P CLASS="pubdate" >2003-08-24<BR></P ><DIV CLASS="revhistory" ><TABLE WIDTH="100%" BORDER="0" ><TR ><TH ALIGN="LEFT" VALIGN="TOP" COLSPAN="3" ><B >Revision History</B ></TH ></TR ><TR ><TD ALIGN="LEFT" >Revision 2.1</TD ><TD ALIGN="LEFT" >2004-08-24</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >scsihosts change -> run mkinitrd, lk 2.4.21,22</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 2.0</TD ><TD ALIGN="LEFT" >2003-05-04</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >lk2.4.20, linuxdoc->tldp, sATA and SAS, last sector on raw devs, blockdev</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.9</TD ><TD ALIGN="LEFT" >2002-11-20</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >convert to xml, lk2.4.19, spelling</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.8</TD ><TD ALIGN="LEFT" >2002-05-05</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >scsihosts comma delimiter, grub+lilo</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.7</TD ><TD ALIGN="LEFT" >2002-04-27</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >mkinitrd, scsi_debug, 2.4.18, more ATAPI</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.6</TD ><TD ALIGN="LEFT" >2002-01-26</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >ATAPI cdrom selection</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.5</TD ><TD ALIGN="LEFT" >2001-12-21</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >16 byte SCSI commands, SCSI_IOCTL_GET_PCI</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.4</TD ><TD ALIGN="LEFT" >2001-08-26</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >spelling, dd_rescue, mkinitrd example, lk 2.4 changes, 1394.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.3</TD ><TD ALIGN="LEFT" >2001-08-26</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >ATAPI CDROM section, alter title, U320, iSCSI.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.2</TD ><TD ALIGN="LEFT" >2001-03-25</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Information about scu, dt, "Alt" sequences, more notes.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.1</TD ><TD ALIGN="LEFT" >2001-01-22</TD ><TD ALIGN="LEFT" >Revised by: dpg</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Add osst description, _EXTRA_DEVS limitations.</TD ></TR ></TABLE ></DIV ><DIV ><DIV CLASS="abstract" ><A NAME="AEN79" ></A ><P ></P ><P > 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. </P ><P ></P ></DIV ></DIV ><HR></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >1. <A HREF="intro.html" >Introduction</A ></DT ><DT >2. <A HREF="arch.html" >Architectural Overview</A ></DT ><DT >3. <A HREF="names.html" >Names and Addresses</A ></DT ><DD ><DL ><DT >3.1. <A HREF="scsiaddr.html" >SCSI Addressing</A ></DT ><DT >3.2. <A HREF="dnames.html" >Device Names</A ></DT ><DT >3.3. <A HREF="dnamesdevfs.html" >Device Names in devfs</A ></DT ><DT >3.4. <A HREF="dnamesscsidev.html" >Device Names in scsidev</A ></DT ></DL ></DD ><DT >4. <A HREF="kconfig.html" >Kernel Configuration</A ></DT ><DT >5. <A HREF="bparams.html" >Boot Parameters</A ></DT ><DT >6. <A HREF="modparams.html" >Modules and their Parameters</A ></DT ><DT >7. <A HREF="procfs.html" >Proc pseudo file system</A ></DT ><DT >8. <A HREF="mlevel.html" >Mid Level, Unifying layer</A ></DT ><DD ><DL ><DT >8.1. <A HREF="mlbparams.html" >boot parameters</A ></DT ><DT >8.2. <A HREF="mlmparams.html" >module parameters</A ></DT ><DT >8.3. <A HREF="mlproc.html" >proc interface</A ></DT ></DL ></DD ><DT >9. <A HREF="ulevel.html" >Upper level drivers</A ></DT ><DD ><DL ><DT >9.1. <A HREF="sd.html" >Disk driver (sd)</A ></DT ><DT >9.2. <A HREF="sr.html" >CDROM driver (sr or scd)</A ></DT ><DT >9.3. <A HREF="st.html" >Tape driver (st)</A ></DT ><DT >9.4. <A HREF="sg.html" >Generic driver (sg)</A ></DT ></DL ></DD ><DT >10. <A HREF="llevel.html" >Lower Level drivers</A ></DT ><DD ><DL ><DT >10.1. <A HREF="llevelpseudo.html" >Pseudo drivers</A ></DT ></DL ></DD ><DT >11. <A HREF="rawdev.html" >Raw devices</A ></DT ><DT >12. <A HREF="devfs.html" >Devfs pseudo file system</A ></DT ><DT >A. <A HREF="scsibus.html" >Common bus types (SCSI and other)</A ></DT ><DT >B. <A HREF="changes.html" >Changes between lk 2.2 and (during) 2.4</A ></DT ><DD ><DL ><DT >B.1. <A HREF="chgml.html" >Mid level changes</A ></DT ><DT >B.2. <A HREF="chgsd.html" >sd changes</A ></DT ><DT >B.3. <A HREF="chgsr.html" >sr changes</A ></DT ><DT >B.4. <A HREF="chgst.html" >st changes</A ></DT ><DT >B.5. <A HREF="chgsg.html" >sg changes</A ></DT ><DT >B.6. <A HREF="chg24.html" >Changes during the lk 2.4 series</A ></DT ></DL ></DD ><DT >C. <A HREF="trouble.html" >Troubleshooting</A ></DT ><DT >D. <A HREF="perform.html" >Performance, Test and Debugging tools</A ></DT ><DT >E. <A HREF="compileopt.html" >Compile options and System calls including ioctls</A ></DT ><DD ><DL ><DT >E.1. <A HREF="coml.html" >Mid level</A ></DT ><DT >E.2. <A HREF="cosd.html" >sd driver</A ></DT ><DT >E.3. <A HREF="cosr.html" >sr driver</A ></DT ><DT >E.4. <A HREF="cost.html" >st driver</A ></DT ><DT >E.5. <A HREF="cosg.html" >sg driver</A ></DT ></DL ></DD ><DT >F. <A HREF="refs.html" >References, Credits and Corrections</A ></DT ></DL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="intro.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Introduction</TD ></TR ></TABLE ></DIV ></BODY ></HTML >