sg_write_long man page on YellowDog

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

SG_WRITE_LONG(8)		   SG3_UTILS		      SG_WRITE_LONG(8)

NAME
       sg_write_long - send the SCSI WRITE LONG command

SYNOPSIS
       sg_write_long   [--16]	[--cor_dis]   [--help]	[--in=IF]  [--lba=LBA]
       [--pblock] [--verbose] [--version] [--wr_uncor] [--xfer_len=BTL] DEVICE

DESCRIPTION
       Send the SCSI WRITE LONG (10 or 16 byte) command to DEVICE. The	buffer
       to  be written to the DEVICE is filled with 0xff bytes or read from the
       IF file. This buffer includes the logical data (e.g. 512 bytes) and the
       ECC bytes.

       This utility can be used to generate a MEDIUM ERROR at a specific logi‐
       cal block address. This can be useful for testing error handling. Prior
       to  such	 a  test, the sg_dd utility could be used to copy the original
       contents of the logical block address to some safe location. After  the
       test  the  sg_dd	 utility could be used to write back the original con‐
       tents of the logical block address. An alternate strategy would	be  to
       read the "long" contents of the logical block address with sg_read_long
       utility prior to testing and restore it with this utility  after	 test‐
       ing.

       Take care: If recoverable errors are being injected (e.g. only one or a
       few bits changed so that the ECC is able to correct the data) then care
       should  be  taken  with the settings in the "read write error recovery"
       mode page.  Specifically if the	ARRE  (for  reads)  and/or  AWRE  (for
       writes)	are  set  then recovered errors will cause the lba to be reas‐
       signed (and the old location to be  added  to  the  grown  defect  list
       (PLIST)).  This	is not easily reversed and uses the (finite number) of
       spare sectors set aside for this purpose. If in doubt  it  is  probably
       safest  to  clear the ARRE and AWRE bits. These bits can be checked and
       modified with the sdparm utility.  For example:	"sdparm	 -c  AWRE,ARRE
       /dev/sda" will clear the bits until the disk is rebooted.

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

       -S, --16
	      send  a  SCSI  WRITE  LONG  (16)	command to DEVICE. The default
	      action (in the absence of this option) is to send a  SCSI	 WRITE
	      LONG (10) command.

       -c, --cor_dis
	      sets  the correction disabled (i.e 'COR_DIS') bit. This inhibits
	      various other mechanisms such as automatic  block	 reallocation,
	      error  recovery  and  various informational exception conditions
	      being triggered.	This bit is new in SBC-3 .

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

       -i, --in=IF
	      read data (binary) from file named IF and use it	for  the  SCSI
	      WRITE  LONG  command.  If	 IF is "-" then stdin is read. If this
	      option is not given then 0xff bytes are used as fill.

       -l, --lba=LBA
	      where LBA is the logical block address of the  sector  to	 over‐
	      write.   Defaults	 to  lba 0 which is a dangerous block to over‐
	      write on a disk that is in use. Assumed to be in decimal	unless
	      prefixed	with  '0x' or has a traling 'h'. If LBA is larger than
	      can fit in 32 bits then the --16 option should be used.

       -p, --pblock
	      sets the physical	 block	(i.e  'PBLOCK')	 bit.  This  instructs
	      DEVICE  to  use the given data (unless --wr_uncor is also given)
	      to write to the physical block specified	by  LBA.  The  default
	      action  is  to  write  to the logical block corresponding to the
	      given lba.  This bit is new in SBC-3 .

       -v, --verbose
	      increase the degree of verbosity (debug messages).

       -V, --version
	      output version string then exit.

       -w, --wr_uncor
	      sets  the	 "write	 uncorrected"  (i.e  'WR_UNCOR')   bit.	  This
	      instructs	 the  DEVICE  to  flag	the given lba (or the physical
	      block that contains it if --pblock is also given) as  having  an
	      unrecoverable  error associated with it. Note: no data is trans‐
	      ferred to DEVICE, other than the command	(i.e.  the  cdb).  The
	      default  action  is  to use the provided data (--xfer_len=BTL in
	      length) and write it to DEVICE.  This bit is new in SBC-3 .

       -x, --xfer_len=BTL
	      where BTL is the byte transfer length (default to 520).  If  the
	      given  value  (or	 the  default) does not match the "long" block
	      size of the device, nothing is written to DEVICE and the	appro‐
	      priate  xfer_len	value  may  be deduced from the error response
	      which is printed (to stderr).

NOTES
       The LBA and BTL (transfer length) arguments may be followed by the fol‐
       lowing  multiplicative  suffixes:  c  C	*1;  w W *2; b B *512; k K KiB
       *1,024; KB  *1,000;  m  M  MiB  *1,048,576;  MB	*1,000,000;  g	G  GiB
       *1,073,741,824;	and  GB	 *1,000,000,000	 .  Also  a suffix of the form
       "x<n>" multiplies the leading number by <n>.

       Alternatively numerical values can be given in hexadecimal preceded  by
       either  "0x"  or "0X" (or with a trailing "h" or "H"). When hex numbers
       are given, multipliers cannot be used.

       To read from a defective sector (that, for  example,  has  been	filled
       with 0xff bytes by this utility) use:

	 sg_dd if=DEVICE skip=LBA of=/dev/null bs=512 count=1

       To overwrite to a defective sector use:

	 sg_dd of=DEVICE seek=LBA if=/dev/zero bs=512 count=1

       This  will  result  in a sector (block) with 512 bytes of 0x0 without a
       MEDIUM ERROR since the ECC and associated data will be well formed.

       The 10 byte SCSI WRITE LONG command limits the logical block address to
       a  32  bit  quantity.  For larger lbas use the --16 option for the SCSI
       WRITE LONG (16) command.

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

AUTHORS
       Written by Saeed Bishara. Further work by Douglas Gilbert.

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

COPYRIGHT
       Copyright © 2004-2007 Douglas Gilbert
       This  software is distributed under the GPL version 2. There is NO war‐
       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR‐
       POSE.

SEE ALSO
       sg_read_long, sg_dd (both in sg3_utils), sdparm(sdparm)

sg3_utils-1.23			 January 2007		      SG_WRITE_LONG(8)
[top]

List of man pages available for YellowDog

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