Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Thursday, June 13, 2019

sg_get_lba_status (8)


sg_get_lba_status - send SCSI GET LBA STATUS command


sg_get_lba_status [--brief] [--help] [--hex] [--lba=LBA] [--maxlen=LEN]
[--raw] [--readonly] [--verbose] [--version] DEVICE


SG_GET_LBA_STATUS(8)               SG3_UTILS              SG_GET_LBA_STATUS(8)

       sg_get_lba_status - send SCSI GET LBA STATUS command

       sg_get_lba_status [--brief] [--help] [--hex] [--lba=LBA] [--maxlen=LEN]
       [--raw] [--readonly] [--verbose] [--version] DEVICE

       Send the SCSI GET LBA STATUS command to  the  DEVICE  and  outputs  the
       response.  This command was introduced in (draft) SBC-3 revision 20 and
       devices that support logical block  provisioning  should  support  this

       The  default  action  is  to  decode  the  response into one LBA status
       descriptor per line output to stdout. The descriptor LBA is  output  in
       hex  (prefixed  by  '0x') and the number of blocks is output in decimal
       followed by the provisioning status in decimal. The provisioning status
       can  be in the range 0 to 15 of which only 0 (mapped), 1 (unmapped) and
       2 (anchored) are used currently. The amount of output can be reduced by
       the --brief option.

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

       -b, --brief
              when  use once then one LBA status descriptor per line is output
              to stdout.   Each  line  has  this  format:  "0x<descriptor_LBA>
              0x<blocks>  <provisioning_status>". So the descriptor's starting
              LBA and number of blocks are output in hex and the  provisioning
              status  in  decimal.  When  used  twice  (e.g. '-bb' or '--brief
              --brief') then the provisioning status of the given LBA (or  LBA
              0 if the --lba option is not given) is output to stdout. A check
              is made that the given LBA  lies  in  the  range  of  the  first
              returned  LBA status descriptor (as it should according to SBC-3
              revision 20) and warnings are sent to stderr if it doesn't.

       -h, --help
              output the usage message then exit.

       -H, --hex
              output response to this command in ASCII hex.

       -l, --lba=LBA
              where LBA is the starting Logical Block Address (LBA)  to  check
              the  provisioning  status  for. Note that the DEVICE chooses how
              many following blocks that it will  return  provisioning  status

       -m, --maxlen=LEN
              where  LEN  is  the  (maximum)  response  length in bytes. It is
              placed in the cdb's "allocation length" field. If not given then
              24  is  used. 24 is enough space for the response header and one
              LBA status descriptor.  LEN should be 8 plus a  multiple  of  16
              (e.g. 24, 40, and 56 are suitable).

       -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 is to open it read-write.

       -v, --verbose
              increase the level of verbosity, (i.e. debug output). Additional
              output caused by this option is sent to stderr.

       -V, --version
              print the version string and then exit.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/storage/sg3_utils |
       |Stability      | Pass-through uncommitted |
       In SBC-3 revision 25 the calculation associated with the Parameter Data
       Length field in the response was modified. Prior to that the byte  off-
       set was 8 and in revision 25 it was changed to 4.

       For  a  discussion  of  logical  block  provisioning see section 4.7 of
       sbc3r29.pdf at http://www.t10.org (or the corresponding  section  of  a
       later draft).

       The exit status of sg_get_lba_status is 0 when it is successful. Other-
       wise see the sg3_utils(8) man page.

       Written by Douglas Gilbert.

       Report bugs to <dgilbert at interlog dot com>.

       Copyright (C) 2009-2014 Douglas Gilbert
       This software is distributed under a FreeBSD license. There is NO  war-
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-

       sg_write_same(8), sg_unmap(8)

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://sg.danny.cz/sg/p/sg3_utils-1.42.tgz

       Further information about this software can be found on the open source
       community website at http://sg.danny.cz/sg/sg3_utils.html.

sg3_utils-1.39                     May 2014               SG_GET_LBA_STATUS(8)