blkdiscard - discard sectors on a device
| Use Case | Command | Description |
|---|---|---|
| Discard all blocks on device | blkdiscard /dev/sda | đī¸ Discard every sector on the block device |
| Discard specific range | blkdiscard -o 1024 -l 4096 /dev/sda | đ Discard from offset 1024 bytes for 4096 bytes |
| Secure discard | blkdiscard --secure /dev/sda | đ Securely erase discarded blocks (include garbage collection copies) |
| Zero-fill instead of discard | blkdiscard --zeroout /dev/sda | âī¸ Overwrite with zeroes rather than discarding |
blkdiscard [options] [-o offset] [-l length] device
blkdiscard is used to discard device sectors. This is useful for solid-state drives (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.
-f, --forceDisable all checking. Since v2.36 the block device is open in exclusive mode (O_EXCL) by default to avoid collision with mounted filesystem or another kernel subsystem. The --force option disables the exclusive access mode.
-o, --offset offsetByte offset into the device from which to start discarding. The provided value must be aligned to the device sector size. The default value is zero.
-l, --length lengthThe number of bytes to discard (counting from the starting point). The provided value must 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. The default value extends to the end of the device.
-p, --step lengthThe number of bytes to discard within one iteration. The default is to discard all by one ioctl call.
-s, --securePerform a secure discard. A secure discard is the same as a regular discard except that all copies of the discarded blocks that were possibly created by garbage collection must also be erased. This requires support from the device.
-z, --zerooutZero-fill rather than discard.
-v, --verboseDisplay the aligned values of offset and length. If the --step option is specified, it prints the discard progress every second.
-V, --versionDisplay version information and exit.
-h, --helpDisplay help text and exit.
Lukas Czerner <lczerner AT redhat.com>
For bug reports, use the issue tracker at https://github.com/karelzak/util-linux/issues.
The blkdiscard command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
util-linux 2.37.2 2021-06-02 BLKDISCARD(8)
Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-14 21:31 @2600:1f28:365:80b0:4d23:66fa:c2bb:7bae
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)