# phpman > man > SG_GET_LBA_STATUS(8)

[SG_GET_LBA_STATUS(8)](https://www.chedong.com/phpMan.php/man/SGGETLBASTATUS/8/markdown)                          SG3_UTILS                         [SG_GET_LBA_STATUS(8)](https://www.chedong.com/phpMan.php/man/SGGETLBASTATUS/8/markdown)



## NAME
       sg_get_lba_status - send SCSI GET LBA STATUS(16 or 32) command

## SYNOPSIS
       **sg**___**get**___**lba**___**status**  [_--16_]  [_--32_]  [_--brief_] [_--element-id=EI_] [_--help_] [_--hex_]  [_--inhex=FN_]
       [_--lba=LBA_] [_--maxlen=LEN_] [_--raw_] [_--readonly_]  [_--report-type=RT_]  [_--scan-len=SL_]  [_--ver__‐
       _bose_] [_--version_] _DEVICE_

## DESCRIPTION
       Send  the  SCSI GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) or GET LBA [STATUS(32)](https://www.chedong.com/phpMan.php/man/STATUS/32/markdown) command to the _DEVICE_ and output the
       response. The 16 byte command variant was introduced in (draft) SBC-3 revision 20 and devices
       that  support  logical block provisioning should support this command. The GET LBA [STATUS(32)](https://www.chedong.com/phpMan.php/man/STATUS/32/markdown)
       command was added in (draft) SBC-4 revision 14.

       The default action is to decode the response into one LBA status  descriptor  per  line  then
       output  a  header  and  the status descriptors 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  and additional status in decimal. The provisioning status can be in the range 0 to 15
       of which only 0 (mapped or unknown), 1 (unmapped), 2 (anchored), 3 (mapped) and  4  (unknown)
       are used currently. The amount of output can be reduced by the _--brief_ option.

       Rather  than  send  this  SCSI command to _DEVICE_, if the _--inhex=FN_ option is given, then the
       contents of the file named _FN_ are decoded as ASCII hex and then processed if it was  the  re‐
       sponse of this command.

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

### -S --16
              send  SCSI  GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command which is the 16 byte variant. In the absence of
              the _--16_ or the _--32_ options the SCSI GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command is sent. If both _--16_
              and the _--32_ options are given then the GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command is sent.

### -T --32
              send SCSI GET LBA [STATUS(32)](https://www.chedong.com/phpMan.php/man/STATUS/32/markdown) command which is the 32 byte variant. When given together
              with the _--16_ option then this option is ignored (so the GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command is
              sent).

### -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>   <addi‐
              tional_status>".  So  the descriptor's starting LBA and number of blocks are output in
              hex while the provisioning status and additional status  are  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.

### -e --element-id
              where _EI_ is the element identifier of the physical element for which the LBAs shall be
              reported  based  on the value in the report type field (i.e.  _RT_). This option is only
              active with the SCSI GET LBA [STATUS(32)](https://www.chedong.com/phpMan.php/man/STATUS/32/markdown) command (i.e. it is ignored  if  the  GET  LBA
              [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command is sent).
              Valid  element  identifiers  are non-zero. The default value of _EI_ is 0 which means in
              the context that no element identifier is specified.

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

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

### -i --inhex
              where _FN_ is a filename whose contents are assumed to be ASCII hexadecimal  bytes.  See
              the  "FORMAT  OF FILES CONTAINING ASCII HEX" section in the sg3_utils manpage for more
              information. If _DEVICE_ is also given then it is ignored. If the _--raw_ option  is  also
              given then the contents of _FN_ are treated as binary.

### -l --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 provi‐
              sioning status for.

### -m --maxlen
              where  _LEN_ is the (maximum) response length in bytes. It is placed in the cdb's "allo‐
              cation length" field. If not given then 24 is used. 24 is enough  space  for  the  re‐
              sponse  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) unless the _--inhex=FN_ option is also  given.  In
              that  case  the  input file name (_FN_) is decoded as binary (and the output is _not_ in
              binary).

### -R --readonly
              open the _DEVICE_ read-only (e.g. in Unix with the O_RDONLY flag).  The  default  is  to
              open it read-write.

### -t --report-type
              where  _RT_ is 0 for report all LBAs; 1 for report LBAs using non-zero provisioning sta‐
              tus; 2 for report LBAs that are mapped; 3 for report LBAs that are de-allocated; 4 for
              report  LBAs  that are anchored; 16 for report LBAs that may return an unrecovered er‐
              ror. The REPORT TYPE field was added to the GET LBA STATUS cdb in sbc4r12.
              Since the REPORT TYPE field is newer than the command, the response contains  the  RTP
              bit  to  indicate  whether or not the _DEVICE_ acts on the REPORT TYE field (set when it
              does act on it, clear otherwise).

### -s --scan-len
              where _SL_ is the scan length which is the maximum number of contiguous  logical  blocks
              to  be  scanned for logical blocks that meet the given report type (i.e. _RT_). This op‐
              tion is only active with the SCSI GET LBA [STATUS(32)](https://www.chedong.com/phpMan.php/man/STATUS/32/markdown) command (i.e. it  is  ignored  if
              the GET LBA [STATUS(16)](https://www.chedong.com/phpMan.php/man/STATUS/16/markdown) command is sent).
              The  default value of _SL_ is 0 which should be interpreted by the _DEVICE_ as there is no
              limits to the number of LBAs that shall be scanned.

### -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.

## NOTES
       In  SBC-3  revision 25 the calculation associated with the Parameter Data Length field in the
       response was modified. Prior to that the byte offset was 8 and in revision 25 it was  changed
       to 4.

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

## EXIT STATUS
       The exit status  of  sg_get_lba_status  is  0  when  it  is  successful.  Otherwise  see  the
       [sg3_utils(8)](https://www.chedong.com/phpMan.php/man/sg3utils/8/markdown) man page.

## AUTHORS
       Written by Douglas Gilbert.

## REPORTING BUGS
       Report bugs to <dgilbert at interlog dot com>.

## COPYRIGHT
       Copyright © 2009-2019 Douglas Gilbert
       This software is distributed under a FreeBSD license. There is NO warranty; not even for MER‐
       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

## SEE ALSO
       **sg**___**write**___**[same(8)](https://www.chedong.com/phpMan.php/man/same/8/markdown),** **sg**___**[unmap(8)](https://www.chedong.com/phpMan.php/man/unmap/8/markdown),** **sg3**___**[utils(8)](https://www.chedong.com/phpMan.php/man/utils/8/markdown)**



sg3_utils-1.45                               August 2019                        [SG_GET_LBA_STATUS(8)](https://www.chedong.com/phpMan.php/man/SGGETLBASTATUS/8/markdown)
