Whamcloud - gitweb
e2fsprogs: Use punch hole as "discard" on regular files
authorLukas Czerner <lczerner@redhat.com>
Fri, 16 Sep 2011 03:44:59 +0000 (23:44 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 16 Sep 2011 03:49:20 +0000 (23:49 -0400)
commitd2bfdc7ff15ce7b6b40c087021528ce190ef43c3
treeea82b4878bc41543066c26592db48e7a186b65c8
parentc859cb1de0d624caa0779fb17d1a53766143136e
e2fsprogs: Use punch hole as "discard" on regular files

If e2fsprogs tools (mke2fs, e2fsck) is run on regular file instead of
on block device, we can use punch hole instead of regular discard
command which would not work on regular file anyway. This gives us
several advantages. First of all when e2fsck is run with '-E discard'
parameter it will punch out all ununsed space from the image, hence
trimming down the file system image. And secondly, when creating an
file system on regular file (with '-E discard' which is default), we
can use punch hole to clear the file content, hence we can skip inode
table initialization, because reads from sparse area returns zeros. This
will result in faster file system creation (without the need to specify
lazy_itable_init) and smaller images.

This commit also fixes some tests that would fail due to mke2fs showing
discard progress, hence the output would differ.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
configure
configure.in
lib/ext2fs/ext2_io.h
lib/ext2fs/unix_io.c
misc/mke2fs.c
tests/f_resize_inode/script
tests/m_bigjournal/script
tests/run_mke2fs