SD(4)                      Linux Programmer's Manual                     SD(4)

       sd - Driver for SCSI Disk Drives

       #include   <linux/hdreg.h>          /*   for  HDIO_GETGEO  */  #include
       <linux/fs.h>           /* for BLKGETSIZE and BLKRRPART */

       The block device name has the following form: sdlp, where l is a letter
       denoting  the  physical drive, and p is a number denoting the partition
       on that physical drive.  Often, the partition number, p, will  be  left
       off when the device corresponds to the whole drive.

       SCSI  disks  have a major device number of 8, and a minor device number
       of the form (16 * drive_number) + partition_number, where  drive_number
       is  the  number of the physical drive in order of detection, and parti-
       tion_number is as follows:

       partition 0 is the whole drive
       partitions 1-4 are the DOS "primary" partitions
       partitions 5-8 are the DOS "extended" (or "logical") partitions

       For example, /dev/sda will have major 8, minor 0, and will refer to all
       of the first SCSI drive in the system; and /dev/sdb3 will have major 8,
       minor 19, and will refer to the third DOS "primary"  partition  on  the
       second SCSI drive in the system.

       At  this  time,  only block devices are provided.  Raw devices have not
       yet been implemented.

       The following ioctls are provided:

              Returns the BIOS disk parameters in the following structure:
                     struct hd_geometry {
                           unsigned char heads;
                           unsigned char sectors;
                           unsigned short cylinders;
                           unsigned long start;

              A pointer to this structure is passed as the ioctl(2) parameter.

              The  information  returned in the parameter is the disk geometry
              of the drive as understood by DOS!  This  geometry  is  not  the
              physical  geometry  of  the drive.  It is used when constructing
              the drive's partition table, however, and is needed  for  conve-
              nient  operation  of  fdisk(1),  efdisk(1), and lilo(1).  If the
              geometry information is not available, zero will be returned for
              all of the parameters.

              Returns  the  device  size  in  sectors.  The ioctl(2) parameter
              should be a pointer to a long.

              Forces a re-read of the SCSI disk partition tables.  No  parame-
              ter is needed.

              The  scsi(4) ioctls are also supported.  If the ioctl(2) parame-
              ter is required, and  it  is  NULL,  then  ioctl()  will  return

       /dev/sd[a-h]: the whole device
       /dev/sd[a-h][0-8]: individual block partitions


                                  1992-12-17                             SD(4)