sg_readcap(8) - phpMan

Command: man perldoc info search(apropos)  


SG_READCAP(8)                               SG3_UTILS                               SG_READCAP(8)

NAME
       sg_readcap - send SCSI READ CAPACITY command

SYNOPSIS
       sg_readcap [--16] [--brief] [--help] [--hex] [--lba=LBA] [--long] [--pmi] [--raw] [--read-
       only] [--verbose] [--version] [--zbc] DEVICE

       sg_readcap [-16] [-b] [-h] [-H] [-lba=LBA] [-pmi] [-r] [-R] [-v] [-V] [-z] 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  ad-
       dress 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.

       The READ CAPACITY(16) response provides additional information not found in the  READ  CA-
       PACITY(10)  response. This includes protection and logical block provisioning information,
       plus 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). Sadly there are horrible SCSI command  set  implementations  in  the
       wild that crash when the READ CAPACITY(16) command is sent to them.

       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), GB (1000000000  bytes  per  GB)
       and, if large enough, TB (1000 GB).

       If  sg_readcap 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 CA-
       PACITY (16) is called and its response is output.

       This utility supports two command line syntaxes, the preferred 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.  The  options  are  ar-
       ranged in alphabetical order based on the long option name.

       --16   Use  the 16 byte cdb variant of the READ CAPACITY command. See the '--long' option.
              -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  in
              bytes 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 ASCII hexadecimal on stdout.

       -L, --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. 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.  This option was made obsolete in SBC-3 revision 26.

       -l, --long
              Use the 16 byte cdb variant of the READ CAPACITY command. 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 or later).

       -O, --old
              Switch to older style options. Please use as first option.

       -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. This option was made obsolete in SBC-3 revision 26.

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

       -R, --readonly
              open  the  DEVICE read-only (e.g. in Unix with the O_RDONLY flag).  The default for
              READ CAPACITY(16) is to open it read-write. The default for READ CAPACITY(10) is to
              open it read-only so this option does not change anything for this case.

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

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

       -z, --zbc
              additionally  prints  out  the  extra ZBC field (RC_BASIS) in the READ CAPACITY re-
              sponse. Using the option implicitly sets the --16 option.

NOTES
       The response to READ CAPACITY(16) contains a LBPRZ bit in the SBC-3 standard (ANSI  INCITS
       514-2014).  There  was  also a LBPRZ bit with the same meaning in the Logical block provi-
       sioning VPD page (0xb2). Then somewhat confusingly T10 expanded the LBPRZ bit to a  3  bit
       field  in SBC-4 draft revision 7, but only in the LB provisioning VPD page. The reason for
       the expansion was to report a new "provisioning initialization pattern" state (when an un-
       mapped logical block is read). The new state has been assigned LBPRZ=2 in the VPD page and
       it re-uses LBPRZ=0 in the READ CAPACITY(16) response. LBPRZ=1 retains the same meaning for
       both  variants,  namely  that  a block of zeroes will be returned when an unmapped logical
       block is read.

EXIT STATUS
       The exit status of sg_readcap is 0 when it is successful. Otherwise see  the  sg3_utils(8)
       man page.

OLDER COMMAND LINE OPTIONS
       The options in this section were the only ones available prior to sg3_utils version 1.23 .
       Since then this utility defaults to the newer command line options which can be overridden
       by  using --old (or -O) as the first option. See the ENVIRONMENT VARIABLES section for an-
       other way to force the use of these older command line options.

       -16    Use the 16 byte cdb variant of the READ CAPACITY command.  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 ASCII hexadecimal 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, --new
              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 descrip-
              tion.

       -r     output response in binary (to stdout).

       -R     Equivalent to --readonly in the main description.

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

       -V     outputs version string then exits.

       -R     Equivalent to --zbc in the main description.

ENVIRONMENT VARIABLES
       Since  sg3_utils  version  1.23  the environment variable SG3_UTILS_OLD_OPTS can be given.
       When it is present this utility will expect the older command line options. So  the  pres-
       ence  of  this environment variable is equivalent to using --old (or -O) as the first com-
       mand line option.

AUTHORS
       Written by Douglas Gilbert

COPYRIGHT
       Copyright (C) 1999-2020 Douglas Gilbert
       This software is distributed under the GPL version 2. There is NO warranty; not  even  for
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
       sg_inq(sg3_utils)

sg3_utils-1.45                             January 2020                             SG_READCAP(8)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-01-14 14:54 @3.14.249.191 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!