sg_verify man page on Alpinelinux

Man page or keyword search:  
man Server   18016 pages
apropos Keyword Search (all sections)
Output format
Alpinelinux logo
[printable version]

SG_VERIFY(8)			   SG3_UTILS			  SG_VERIFY(8)

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

SYNOPSIS
       sg_verify  [--16]  [--bpc=BPC]  [--count=COUNT] [--dpo] [--ebytchk=BCH]
       [--group=GN]  [--help]  [--in=IF]  [--lba=LBA]  [--ndo=NDO]   [--quiet]
       [--readonly] [--verbose] [--version] [--vrprotect=VRP] DEVICE

DESCRIPTION
       Sends one or more SCSI VERIFY (10 or 16) commands to DEVICE. These SCSI
       commands	  are	defined	  in   the   SBC-2   (draft)	standard    at
       http://www.t10.org and SBC-3 drafts.

       When --ndo=NDO is not given then the 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 com‐
       mand so if necessary multiple VERIFY commands are sent. Medium  verifi‐
       cation  operations  are	performed  by  the DEVICE (e.g.	 assuming each
       block has additional EEC data, check this  against  the	logical	 block
       contents).  No  news  is	 good news (i.e. if there are no verify errors
       detected then no messages are sent to stderr and the Unix  exit	status
       is 0).

       When  --ndo=NDO is given then the --bpc=BPC option is ignored. A single
       VERIFY command is issued and a comparison starts at the	logical	 block
       address	given  by the --lba=LBA option and continues for --count=COUNT
       blocks. The VERIFY command has an associated data-out  buffer  that  is
       NDO  bytes  long. The contents of the data-out buffer are obtained from
       the FN file (if --in=FN is given) or from stdin.	  A  comparison	 takes
       place  between data-out buffer and the logical blocks on the DEVICE. If
       the comparison is good then no messages are sent to stderr and the Unix
       exit  status  is	 0. If the comparison fails then a sense buffer with a
       sense key of MISCOMPARE is returned; in this case the Unix exit	status
       will  be 14. Messages will be sent to stderr associated with MISCOMPARE
       sense buffer unless the --quiet option is given.

       In SBC-3 revision 34 the BYTCHK field in all SCSI VERIFY	 commands  was
       expanded	 from  one  to	two  bits.  That  required some changes in the
       options of this utility, see the section below on OPTION CHANGES.

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.

       -S, --16
	      uses a VERIFY(16) command	 (default  VERIFY(10)).	 Even  without
	      this  option,  using an --lba=LBA which is too large, will cause
	      the utility to issue a VERIFY(16) command.

       -b, --bpc=BPC
	      this option is ignored if	 --ndo=NDO  is	given.	Otherwise  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  the  default VERIFY(10) BPC cannot exceed
	      0xffff  (65,535)	while  for  VERIFY(16)	 BPC   cannot	exceed
	      0x7fffffff  (2,147,483,647).  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) and NDO is not given, 0 or less then mul‐
	      tiple SCSI VERIFY commands are sent  to  the  device.  Otherwise
	      COUNT  becomes  the contents of the verification length field of
	      the SCSI VERIFY command issued. 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.

       -E, --ebytchk=BCH
	      sets the BYTCHK field to BCH overriding the value (1) set by the
	      --ndo=NDO option. Values of 1, 2 or 3 are accepted for BCH  how‐
	      ever  sbc3r34 reserves the value 2. If this option is given then
	      --ndo=NDO must also be given. If BCH is 3 then COUNT must	 be  1
	      and  NDO	should be the size of one logical block (plus the size
	      of some or all of the protection infomation if  VRP  is  greater
	      than 0).

       -g, --group=GN
	      where  GN	 becomes the contents of the group number field in the
	      SCSI VERIFY(16) command. The default value for  GN  is  0.  Note
	      that this option is ignored for the SCSI VERIFY(10) command.

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

       -i, --in=IF
	      where IF is the name of a file from which NDO bytes will be read
	      and placed in the data-out buffer. This is only  done  when  the
	      --ndo=NDO	 option	 is  given.  If	 this option is not given then
	      stdin is read. If IF is "-" then stdin is also used.

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

       -n, --ndo=NDO
	      NDO  is  the  number  of	bytes  to  obtain from the FN file (if
	      --in=FN is given) or from stdin. Those bytes are placed  in  the
	      data-out	buffer associated with the SCSI VERIFY command and NDO
	      is placed in the verification  length  field  in	the  cdb.  The
	      default value for NDO is 0 and the maximum value is dependant on
	      the OS. If the --ebytchk=BCH option is not given then the BYTCHK
	      field in the cdb is set to 1.

       -q, --quiet
	      suppress	the sense buffer messages associated with a MISCOMPARE
	      sense key that would otherwise be sent to stderr. Still set  the
	      exit status to 14 which is the sense key value indicating a MIS‐
	      COMPARE .

       -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 com‐
	      mand cdb. It must be a value between  0  and  7  inclusive.  The
	      default value is zero.

BYTCHK
       BYTCHK  is  the	name  of a field (two bits wide) in the VERIFY(10) and
       VERIFY(16) commands. When set to 1 or 3 (sbc3r34 reserves the value  2)
       it  indicates  that associated with the SCSI VERIFY command, a data-out
       buffer will be sent for the device (disk) to check. Using the --ndo=NDO
       option sets the BYTCHK field to 1 and NDO is the number of bytes placed
       in the data-out buffer. Those bytes are obtained from stdin or IF (from
       the  --in=FN  option). The --ebytchk=BCH option may be used to override
       the BYTCHK field value of 1 with BCH.

       The calculation of NDO is left up to the user. Its value depends on the
       logical	block  size  (which can be found with the sg_readcap utility),
       the COUNT and the VRP values. If the VRP is greater than	 0  then  each
       logical	block  will  contain an extra 8 bytes (at least) of protection
       information.

       When the BYTCHK field is 0 then the verification process	 done  by  the
       device  (disk)  is vendor specific. It typically involves checking each
       block on the disk against its error correction  codes  (ECC)  which  is
       additional data also held on the disk.

       Many  Operating	Systems put limits on the maximum size of the data-out
       (and data-in) buffer. For Linux at one time the limit was less  than  1
       MB but has been increased somewhat.

OPTION CHANGES
       Earlier	versions  of  this utility had a --bytchk=NDO option which set
       the BYTCHK bit and set the cdb verification length field to  NDO.   The
       shorter form of that option was -B NDO. For backward compatibility that
       option is still present	but  not  documented.  In  its	place  is  the
       --ndo=NDO  whose	 shorter  form	of  -n NDO.  --ndo=NDO sets the BYTCHK
       field to 1 unless that is overridden by the --ebytchk=BCH.

NOTES
       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-3 draft (rev 29 sec‐
       tion 6.4.9 on the Verify Error Recovery mode page) advises that to min‐
       imize 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 recovery time limit to 0. Mode pages can be
       modified with the sdparm utility.

       The SCSI VERIFY(6) command defined in  the  SSC-2  standard  and	 later
       (i.e.  for tape drive systems) is not supported by this utility.

EXIT STATUS
       The  exit  status  of sg_verify is 0 when it is successful. When BCH is
       other than 0 then a comparison takes place and if  it  fails  then  the
       exit  status  is	 14 which happens to be the sense key value of MISCOM‐
       PARE.  Otherwise see the EXIT STATUS section in	the  sg3_utils(8)  man
       page.

       Earlier	versions  of  this utility set an exit status of 98 when there
       was a MISCOMPARE.

AUTHORS
       Written by Douglas Gilbert.

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

COPYRIGHT
       Copyright © 2004-2013 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‐
       POSE.

SEE ALSO
       sdparm(sdparm),	     sg_modes(sg3_utils),	sg_readcap(sg3_utils),
       sg_inq(sg3_utils)

sg3_utils-1.37			  August 2013			  SG_VERIFY(8)
[top]

List of man pages available for Alpinelinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net