blkdiscard — discard sectors on a device


blkdiscard [ −o offset ] [ −l length ] [−s] [−v] device


blkdiscard is used to discard device sectors. This is useful for solid-state drivers (SSDs) and thinly-provisioned storage. Unlike fstrim(8) this command is used directly on the block device.

By default, blkdiscard will discard all blocks on the device. Options may be used to modify this behavior based on range or size, as explained below.

The device argument is the pathname of the block device.

WARNING: All data in the discarded region on the device will be lost!


The offset and length arguments may be followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB") or the suffixes KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB.

−h, −−help

Display help text and exit.

−o, −−offset offset

Byte offset in the device from which to discard. Provided value will be aligned to the device sector size. Default value is zero.

−l, −−length length

Number of bytes after starting point to discard. Provided value will be aligned to the device sector size. If the specified value extends past the end of the device, blkdiscard will stop at the device size boundary. Default value extends to the end of the device.

−s, −−secure

Perform secure discard. Secure discard is the same as regular discard except all copies of the discarded blocks possibly created by garbage collection must also be erased. It has to be supported by the device.

−v, −−verbose

Print aligned offset and length arguments.


Lukas Czerner




The blkdiscard command is part of the util-linux package and is available Linux Kernel Archive