ext4: add punching hole support for non-extent-mapped files
authorZheng Liu <wenqing.lz@taobao.com>
Mon, 28 Jan 2013 14:21:37 +0000 (09:21 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 28 Jan 2013 14:21:37 +0000 (09:21 -0500)
This patch add supports for indirect file support punching hole.  It
is almost the same as ext4_ext_punch_hole.  First, we invalidate all
pages between this hole, and then we try to deallocate all blocks of
this hole.

A recursive function is used to handle deallocation of blocks.  In
this function, it iterates over the entries in inode's i_blocks or
indirect blocks, and try to free the block for each one of them.

After applying this patch, xfstest #255 will not pass w/o extent because
indirect-based file doesn't support unwritten extents.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

No differences found