Go to main content

man pages section 1M: System Administration Commands

Exit Print View

Updated: July 2017

sg_verify (1m)


sg_verify - invoke SCSI VERIFY command(s) on a block device


sg_verify  [--bpc=BPC]  [--count=COUNT]  [--dpo]  [--help]  [--lba=LBA]
[--readonly] [--verbose] [--version] [--vrprotect=VRP] DEVICE


SG_VERIFY(8)                       SG3_UTILS                      SG_VERIFY(8)

       sg_verify - invoke SCSI VERIFY command(s) on a block device

       sg_verify  [--bpc=BPC]  [--count=COUNT]  [--dpo]  [--help]  [--lba=LBA]
       [--readonly] [--verbose] [--version] [--vrprotect=VRP] DEVICE

       Sends one or more SCSI VERIFY commands to DEVICE. It  is  the  10  byte
       VERIFY    command   defined   for   block   devices   (see   SBC-2   at
       http://www.t10.org).  Verify starts at the logical block address  given
       by the --lba=LBA option and continues for --count=COUNT blocks. No more
       than --bpc=BPC blocks are verified by each VERIFY command so if  neces-
       sary  multiple  VERIFY commands are sent. No news is good news (i.e. if
       there are no verify errors detected no messages are sent to stderr  and
       the Unix return status is 0).

       Arguments to long options are mandatory for short options as well.  The
       options are arranged in alphabetical order based  on  the  long  option

       -b, --bpc=BPC
              where  BPC  specifies  the maximum number of blocks that will be
              verified by a single SCSI VERIFY command. The default  value  is
              128  blocks  which  equates  to  64  KB for a disk with 512 byte
              blocks. If BPC is less than COUNT then multiple SCSI VERIFY com-
              mands  are  sent to the device. For recent block devices (disks)
              this value may be constrained by  the  maximum  transfer  length
              field in the block limits VPD page.

       -c, --count=COUNT
              where  COUNT  specifies  the  number  of  blocks  to verify. The
              default value is 1 . If  COUNT  is  greater  than  BPC  (or  its
              default  value  of  128)  then multiple SCSI VERIFY commands are
              sent to the device. The sg_readcap utility can be used  to  find
              the  maximum  number of blocks that a block device (e.g. a disk)

       -d, --dpo
              disable page out changes the cache retention priority of  blocks
              read  on  the  device's cache to the lowest priority. This means
              that blocks read by other commands are more likely to remain  in
              the device's cache.

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

       -l, --lba=LBA
              where LBA specifies the logical block address of the first block
              to start the verify operation. LBA  is  assumed  to  be  decimal
              unless  prefixed  by  '0x'  or  a  trailing 'h' (see below). The
              default value is 0 (i.e. the start of the device).  -r,  --read-
              only  opens the DEVICE read-only rather than read-write which is
              the default. The Linux sg driver needs read-write access for the
              SCSI  VERIFY  command  but  other  access  methods  may  require
              read-only access.

       -v, --verbose
              increase the level of verbosity, (i.e. debug output).

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

       -P, --vrprotect=VRP
              where VRP is the value in the vrprotect field in the VERIFY com-
              mand  cdb.  It  must  be  a value between 0 and 7 inclusive. The
              default value is zero.

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

       |Availability   | system/storage/sg3_utils |
       |Stability      | Uncommitted              |
       Various numeric arguments (e.g. LBA) may  include  multiplicative  suf-
       fixes  or  be given in hexadecimal. See the "NUMERIC ARGUMENTS" section
       in the sg3_utils(8) man page.

       The amount of error correction and  the  number  of  retries  attempted
       before  a  block  is considered defective are controlled in part by the
       Verify Error Recovery mode page.  A note in the SBC-2 (draft)  standard
       advises  that to minimize the number of checks (and hence have the most
       "sensitive" verify check) do the following in that mode page.  Set  the
       EER bit to 0, the PER bit to 1, the DTE bit to 1, the DCR bit to 1, the
       verify retry count to 0 and the verify error  recovery  timeout  to  0.
       Mode pages can be modified with the sginfo utility.

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

       Written by Douglas Gilbert.

       Report bugs to <dgilbert at interlog dot com>.

       Copyright (C) 2004-2011 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-

       sginfo(sg3_utils),     sg_modes(sg3_utils),      sg_readcap(sg3_utils),

       This     software     was    built    from    source    available    at
       https://java.net/projects/solaris-userland.   The  original   community
       source was downloaded from  http://sg.danny.cz/sg/p/sg3_utils-1.33.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.31                   February 2011                    SG_VERIFY(8)