f2fs: do in batches truncation in truncate_hole
authorChao Yu <chao2.yu@samsung.com>
Thu, 17 Sep 2015 12:22:44 +0000 (20:22 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 9 Oct 2015 23:20:52 +0000 (16:20 -0700)
commitea58711e884c3006e6f61e44d47f0c2d9f0979e1
treea2158dd4c7a123ebf2d815292682d6cd41516381
parent4d1fa815f26ce92dc4710d28f50071174a2340b7
f2fs: do in batches truncation in truncate_hole

truncate_data_blocks_range can do in batches truncation which makes all
changes in dnode page content, dnode page status, extent cache, block
count updating together.

But previously, truncate_hole() always truncates one block in dnode page
at a time by invoking truncate_data_blocks_range(,1), which make thing
slow.

This patch changes truncate_hole() to do in batches truncation for all
target blocks in one direct node inside truncate_data_blocks_range, which
can make our punch hole operation in ->fallocate more efficent.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c