Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.46 KB

README.rst

File metadata and controls

43 lines (30 loc) · 1.46 KB

drill: Make a file sparse without using extra disk space

NOTE: a patch was submitted and merged into util-linux > 2.24 adding this functionality as part of the fallocate command. You should probably use that, although if util-linux > 2.24 is not present on your platform and want to avoid compiling util-linux, you can still find this useful.

drill [options] <filename>

Make a file sparse without using extra disk space, by just doing holes in the file when possible.

You can think of this as doing a cp --sparse and renaming the dest file as the original, without the need for extra disk space.

It uses linux and fs specific syscalls. It only works on Linux >= 2.6.38 with filesystems that support FALLOC_FL_PUNCH_HOLE fallocate(2) mode. Some filesystems that support this are: btrfs, ext4, f2fs, ocfs2 and xfs.

Options:
-s HOLE_SIZE Size in kb of the minimum hole to dig (default: 32)
-h Show this help

Note that too small values for HOLE_SIZE might be ignored. And too big values might use lot of RAM and not detect many holes.

Compiling

To compile drill you just need a C99 compiler, a recent glibc, make and the Linux kernel headers (from a kernel >= 2.6.38). To compile you can run:

make

and it should just work.

Contributions

Of course, patches and bug reports are welcome. Please send them to me, Rodrigo Campos, at [email protected]