sg_sync - send the scsi command synchronize cache


sg_sync [--count=COUNT] [--group=GROUP] [--help] [--immed] [--lba=LBA] [--sync-nv] [--verbose] [--version] DEVICE


Send SYNCHRONIZE CACHE (10) command to DEVICE. This command is defined for SCSI block devices (see SBC-2). If successful this command makes sure that any blocks whose latest versions are held in (volatile) cache are written to (also termed as "synchronized with") the medium. If the --sync-nv option is given and the device has a non-volatile cache then any blocks whose latest versions are held in volatile cache are written to non-volatile cache.

If the LBA and COUNT arguments are both zero (their defaults) then all blocks in the cache are synchronized. If LBA is greater than zero while COUNT is zero then blocks in the cache whose addresses are from and including LBA to the highest lba on the device are synchronized. If both LBA and COUNT are non zero then blocks in the cache whose addresses lie in the range LBA to LBA+COUNT-1 inclusive are synchronized with the medium.


Arguments to long options are mandatory for short options as well.
-c, --count=COUNT
 where COUNT is the number of blocks to synchronize from and including LBA. Default value is 0. When 0 then all blocks in the (volatile) cache from and including LBA argument to the highest block address are synchronized.
-g, --group=GROUP
 where GROUP is the group number which can be between 0 and 31 inclusive. The default value is 0 . Group numbers are used to segregate data collected within the device. This is a new feature in SBC-2 and can probably be ignored for the time being.
-h, --help output the usage message then exit.
-i, --immed
 sets the IMMED bit in the SYNCHRONIZE CACHE command. This instructs the device, if the format of the command is acceptable, to return a GOOD status immediately rather than wait for the blocks in the (volatile) cache to be synchronized with (i.e. written to) the medium (or the non-volatile cache).
-l, --lba=LBA
 where LBA is the lowest logical block address in the (volatile) cache to synchronize to the medium (or the non-volatile cache). Default value is 0 .
-s, --sync-nv
 synchronize the (volatile) cache with the non-volatile cache. Without this option (or if there is no non-volatile cache in the device) the synchronization is with the medium.
-v, --verbose
 increase the level of verbosity, (i.e. debug output).
-V, --version
 print the version string and then exit.


The COUNT, GROUP and LBA arguments may be followed by one of these 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 . This pattern continues for "G", "T" and "P". Also a suffix of the form "x<n>" multiplies the leading number by <n>. The "T" and "P" suffixes can only be used for COUNT and LBA.

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.


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


Written by Douglas Gilbert.


Report bugs to <dgilbert at interlog dot com>.


Copyright © 2004-2006 Douglas Gilbert This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



openSUSE Logo