f2fs: fix to preallocate block only aligned to 4K
authorChao Yu <yuchao0@huawei.com>
Sat, 20 Aug 2016 07:12:01 +0000 (15:12 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 30 Aug 2016 01:31:15 +0000 (18:31 -0700)
commitdfd02e4de1c5f40c268984254045d388ab0c3e74
tree50a2895579364ef2748ccfa4eef770c824561839
parent6a7a3aedd562838fd402cccb5ad07b8063a3582e
f2fs: fix to preallocate block only aligned to 4K

In write_begin(), we skip checking dnode block for preallocating block
when whole block needs to be updated since we preallocated its block in
f2fs_preallocate_blocks, for partial updated block, we will still try
to lock its node and do preallocation in write_begin(), so in
f2fs_preallocate_blocks we should not preallocate its block.

But previously, the calculation of preallocating block number is
incorrect, fix it.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
[Jaegeuk Kim: fix a bug]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c