sg_unmap 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_UNMAP(8)			   SG3_UTILS			   SG_UNMAP(8)

NAME
       sg_unmap - send SCSI UNMAP command (known as 'trim' in ATA specs)

SYNOPSIS
       sg_unmap	     [--anchor]	    [--grpnum=GN]     [--help]	   [--in=FILE]
       [--lba=LBA,LBA...]   [--num=NUM,NUM...]	 [--timeout=TO]	   [--verbose]
       [--version] DEVICE

DESCRIPTION
       Send  a	SCSI  UNMAP  command  to  DEVICE  to unmap one or more logical
       blocks. This command was introduced in  SBC-3  revision	18  under  the
       broad  heading of "logical block provisioning". Logical blocks may also
       be unmapped by the SCSI WRITE SAME command; see the sg_write_same util‐
       ity.  The  unmap capability is closely related to the ATA DATA SET MAN‐
       AGEMENT command with the "Trim" bit set.

       Logical blocks to be unmapped can be specified in one of	 two  ways  to
       this  utility.  One  way is by supplying the start LBAs to the '--lba='
       option and the corresponding number(s) to unmap to the '--num=' option.
       The  other  way	is by putting start LBA and number to unmap pairs in a
       file whose name is given to the '--in=' option. All values are  assumed
       to  be decimal unless prefixed by "0x" (or "0X") or have a trailing "h"
       (or "H") in which case they are interpreted as hexadecimal.

       When the '--lba=' option is given then the '--num=' option must also be
       given. If one has a comma separated list as its argument then the other
       must have the same number of elements in its list.  The	arguments  can
       use  a  single space as a separator but need to be in quotes or escaped
       to not be misinterpreted by the shell.

       With the '--in=FILE' option an even number of values must be found  and
       are  interpreted	 as  pairs: the first value in each pair is a starting
       LBA and the second value is the number to unmap from that  LBA.	Every‐
       thing from and including a "#" on a line is ignored as are blank lines.
       Values may be comma, space and tab  separated  or  appear  on  separate
       lines. Each line should not exceed 1023 bytes in length.

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

       -a, --anchor
	      sets the 'Anchor' bit in the command (introduced in sbc3r22).

       -g, --grpnum=GN
	      sets  the	 'Group	 number'  field	 to GN. Defaults to a value of
	      zero.  GN should be a value between 0 and 31.

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

       -I, --in=FILE
	      where FILE is a file name containing pairs of values. The	 first
	      member  of  each pair is a starting LBA and the second member of
	      the pair is the number of	 logical  blocks  to  unmap  from  and
	      including	 that  starting LBA. Values are interpreted as decimal
	      unless indicated otherwise. This option cannot be	 present  with
	      the '--lba=' option.

       -l, --lba=LBA,LBA...
	      where  LBA,LBA... is a string of comma (or space) separated val‐
	      ues that are interpreted as starting  logical  block  addresses.
	      Each number is interpreted as decimal unless prefixed by '0x' or
	      '0X' (or it has a trailing 'h' or 'H'). An  argument  that  con‐
	      tains  any  space	 separators  needs  to be quoted (or otherwise
	      escaped). When this option is given  then	 the  '--num='	option
	      must also be given and they must contain the same number of ele‐
	      ments in their arguments.

       -n, --num=NUM,NUM...
	      where NUM,NUM... is a string of comma (or space) separated  val‐
	      ues that are interpreted as a number of logical blocks to unmap.
	      Each number is interpreted as decimal unless prefixed by '0x' or
	      '0X'  (or	 it  has a trailing 'h' or 'H'). Note that 0 blocks is
	      acceptable. An argument that contains any space separators needs
	      to  be quoted (or otherwise escaped).  When this option is given
	      then the '--lba=' option must also be given and they  must  con‐
	      tain the same number of elements in their arguments.

       -t, --timeout=TO
	      where  TO is a timeout value (in seconds) for the UNMAP command.
	      The default value is 60 seconds.

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

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

NOTES
       Some limits: an LBA can be up to 64 bits, a NUM up to 32 bits  (imposed
       by  structure of UNMAP SCSI command parameter data). The NUM is further
       constrained by the MAXIMUM UNMAP LBA COUNT field in  the	 BLOCK	LIMITS
       VPD  page (0xb0). The maximum number of LBA,NUM pairs is limited to 128
       by this utility and may be further constrained  by  the	MAXIMUM	 UNMAP
       BLOCK DESCRIPTOR COUNT field in the BLOCK LIMITS VPD page.

       Since  it  is unclear how long the UNMAP command will take to execute a
       '--timeout=" option has been provided. The default timeout period is 60
       seconds.	 If  all  the  logical	blocks on a logical unit (e.g.	a disk
       drive) are to be unmapped then the FORMAT UNIT SCSI  command  (see  the
       sg_format utility) may be considered as an alternative.

       Support for logical block provisioning is indicated by the LBPME bit in
       the response to the SCSI READ CAPACITY (16) command (see the sg_readcap
       utility).

       In SBC-3 revision 25 the LBPU and ANC_SUP bits where added to the Logi‐
       cal Block Provisioning VPD page. When LBPU is set it indicates that the
       device supports the UNMAP command. When the ANC_SUP bit is set it indi‐
       cates the device supports anchored LBAs.

EXAMPLES
       In  the	examples  directory  of	 the  sg3_utils	 package  there	 is  a
       sg_unmap_example.txt file that shows the format that the '--in=' option
       accepts.

EXIT STATUS
       The exit status of sg_unmap 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 © 2009-2014 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
       sg_format,sg_get_lba_status,sg_readcap,sg_vpd,sg_write_same(sg3_utils)

sg3_utils-1.38			 January 2014			   SG_UNMAP(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