NAME¶
sg_verify - invoke SCSI VERIFY command(s) on a block device
SYNOPSIS¶
sg_verify [
--bpc=BPC] [
--count=COUNT] [
--dpo]
[
--help] [
--lba=LBA] [
--readonly] [
--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). -r, --readonly
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 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-2011 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)