NAME
sg_verify - invoke SCSI VERIFY command(s) on a block device
SYNOPSIS
sg_verify [--bpc=BPC] [--count=COUNT] [--dpo] [--help] [--lba=LBA]
[--verbose] [--version] [--vrprotect=VRP] DEVICE
DESCRIPTION
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
necessary 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).
OPTIONS
Arguments to long options are mandatory for short options as well. The
options are arranged in alphabetical order based on the long option
name.
-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
commands 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)
has.
-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).
-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
command cdb. It must be a value between 0 and 7 inclusive. The
default value is zero.
NOTES
Various numeric arguments (e.g. LBA) may include multiplicative
suffixes 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.
EXIT STATUS
The exit status of sg_verify is 0 when it is successful. Otherwise see
the sg3_utils(8) man page.
AUTHORS
Written by Douglas Gilbert.
REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT
Copyright © 2004-2009 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
SEE ALSO
sginfo(sg3_utils), sg_modes(sg3_utils), sg_readcap(sg3_utils),
sg_inq(sg3_utils)