MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


SG3UTILS                                          SGREADCAP(1M)



NAME
     sgreadcap - sends a SCSI READ CAPACITY command

SYNOPSIS
     sgreadcap [--brief] [--help] [--hex]  [--lba=LBA]  [--long]
     [--pmi] [--raw] [--verbose] [--version] DEVICE

     sgreadcap [-16] [-b] [-h] [-H] [-lba=LBA] [-pmi] [-r]  [-v]
     [-V] DEVICE

DESCRIPTION
     The normal action of the SCSI READ CAPACITY  command  is  to
     fetch the number of blocks (and block size) from the DEVICE.

     The SCSI READ CAPACITY command (both 10 and  16  byte  cdbs)
     actually  yield  the block address of the last block and the
     block size. The number of blocks is thus one plus the  block
     address of the last block (as blocks are counted origin zero
     (i.e. starting at block zero)). This is the source  of  many
     "off by one" errors.

     Device capacity is the product of the number  of  blocks  by
     the  block size.  This utility outputs this figure in bytes,
     MiB (1048576 bytes per MiB) and  GB  (1000000000  bytes  per
     GB).

     This utility supports two command line  syntaxes,  the  pre-
     ferred  one  is shown first in the synopsis and explained in
     this section. A later section on the old command line syntax
     outlines the second group of options.

OPTIONS
     Arguments to long options are mandatory for short options as
     well.

     -b, --brief
          outputs two hex numbers (prefixed with '0x'  and  space
          separated)  to  stdout. The first number is the maximum
          number of blocks on the device (which is one  plus  the
          lba of the last accessible block). The second number is
          the size of each block. If  the  operation  fails  then
          "0x0 0x0" is written to stdout.

     -h, --help
          print out the usage message then exit.

     -H, --hex
          output  the  response  to  the  READ  CAPACITY  command
          (either the 10 or 16 byte cdb variant) in ASCI hexade-
          cimal on stdout.

     -L, --lba=LBA



sg3utils-1.23      Last change: January 2007                   1






SG3UTILS                                          SGREADCAP(1M)



          used in conjunction with --pmi option. This variant  of
          READ  CAPACITY  will yield the last block address after
          LBA prior to a delay. For a disk, given a LBA it yields
          the  highest  numbered block on the same cylinder (i.e.
          before the heads need to move). LBA is  assumed  to  be
          decimal  unless  prefixed  by "0x" or it has a trailing
          "h". Defaults to 0.

     -l, --long
          Use the 16 byte cdb variant of the READ  CAPACITY  com-
          mand.  The  default  action  is  to use the 10 byte cdb
          variant which  limits  the  maximum  block  address  to
          (2**32  -  2). When a 10 byte cdb READ CAPACITY command
          is used on a device whose size is too large then a last
          block  address of 0xffffffff is returned (if the device
          complies with SBC-2).

     -O, --old
          switch to older style options.

     -p, --pmi
          partial medium indicator: for finding  the  next  block
          address  prior  to  some delay (e.g. head movement). In
          the absence of this option, the total number of  blocks
          and  the  block size of the device are output.  Used in
          conjunction with the --lba=LBA option.

     -r, --raw
          output response in binary to stdout.

     -v, --verbose
          increase level  of  verbosity.  Can  be  used  multiple
          times.

     -V, --version
          outputs version string then exits.

NOTES
     If sgreadcap is called without the --long option  then  the
     10 byte cdb version (i.e. READ CAPACITY (10)) is sent to the
     DEVICE. If the number of blocks in the response is  reported
     as  0xffffffff  (i.e. (2**32 - 1) ) and the --hex option has
     not been given, then READ CAPACITY (16) is  called  and  its
     response is output.

     The read capacity(16) response shows additional  information
     not  found  in the read capacity(10) response. This includes
     protection information and the number of logical blocks  per
     physical block. So even though the media size may not exceed
     what READ CAPACITY(10) can show, it may still be  useful  to
     examine the response to READ CAPACITY(16).




sg3utils-1.23      Last change: January 2007                   2






SG3UTILS                                          SGREADCAP(1M)



     In the 2.4 series of Linux kernels the DEVICE must be a SCSI
     generic  (sg)  device. In the 2.6 series block devices (e.g.
     SCSI disks and DVD drives) can also be specified. For  exam-
     ple  "sgreadcap  /dev/sda"  and  "sgreadcap  /dev/hdd" (if
     /dev/hdd is a ATAPI CD/DVD device)  will  work  in  the  2.6
     series kernels.

EXIT STATUS
     The exit status of sgreadcap is 0 when  it  is  successful.
     Otherwise see the sg3utils(1M) man page.

OLDER COMAND LINE OPTIONS
     The options in this section were  the  only  ones  available
     prior  to sg3utils version 1.23 . In sg3utils version 1.23
     and later these older options can be selected by either set-
     ting  the  SG3UTILSOLDOPTS  environment variable or using
     '--old' (or '-O) as the first option.

     -16  Use the 16 byte cdb variant of the READ  CAPACITY  com-
          mand.  Equivalent to --long in the main description.

     -b   utility outputs two hex numbers (prefixed with '0x' and
          space  separated)  to  stdout.  The first number is the
          maximum number of blocks on the device  (which  is  one
          plus  the lba of the last accessible block). The second
          number is the size of  each  block.  If  the  operation
          fails  then "0x0 0x0" is written to stdout.  Equivalent
          to --brief in the main description.

     -h   output the usage  message  then  exit.  Giving  the  -?
          option also outputs the usage message then exits.

     -H   output  the  response  to  the  READ  CAPACITY  command
          (either the 10 or 16 byte cdb variant) in ASCI hexade-
          cimal on stdout.

     -lba=LBA
          used in conjunction with -pmi option. This  variant  of
          READ  CAPACITY  will yield the last block address after
          LBA prior to a delay.  Equivalent to --lba=LBA  in  the
          main description.

     -N   switch to the newer style options.

     -pmi partial medium indicator: for finding  the  next  block
          address  prior  to  some delay (e.g. head movement). In
          the absence of this switch, the total number of  blocks
          and   the   block   size  of  the  device  are  output.
          Equivalent to --pmi in the main description.

     -r   output response in binary (to stdout).




sg3utils-1.23      Last change: January 2007                   3






SG3UTILS                                          SGREADCAP(1M)



     -v   verbose: print out cdb of issued commands prior to exe-
          cution.  '-vv'  and  '-vvv'  are also accepted yielding
          greater verbosity.

     -V   outputs version string then exits.

AUTHORS
     Written by Douglas Gilbert

COPYRIGHT
     Copyright O 1999-2007 Douglas Gilbert
     This software is distributed under the GPL version 2.  There
     is  NO warranty; not even for MERCHANTABILITY or FITNES FOR
     A PARTICULAR PURPOSE.

SEE ALSO
     sginq(sg3utils)

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     
       ATRIBUTE TYPE     ATRIBUTE VALUE
    
     Availability         SUNWsg3utilsu  
    
     Interface Stability  Committed      
    

NOTES
     Source for sg3utils is available on http:/opensolaris.org.























sg3utils-1.23      Last change: January 2007                   4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™