summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorChao Yu2016-08-20 09:12:02 +0200
committerJaegeuk Kim2016-08-30 03:31:10 +0200
commit58383befc3377b4e2305b98f91e445af73ba8d62 (patch)
tree41ea9f6aa9201e7ae53e3de641188b6e5eab850d /fs/f2fs/data.c
parentf2fs: avoid unneeded loop in build_sit_entries (diff)
downloadkernel-qcow2-linux-58383befc3377b4e2305b98f91e445af73ba8d62.tar.gz
kernel-qcow2-linux-58383befc3377b4e2305b98f91e445af73ba8d62.tar.xz
kernel-qcow2-linux-58383befc3377b4e2305b98f91e445af73ba8d62.zip
f2fs: fix to do f2fs_balance_fs in f2fs_map_blocks correctly
If we preallocate blocks with f2fs_reserve_blocks in f2fs_map_blocks, we should call f2fs_balance_fs for checking and reclaiming space, fix it. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index ccb401eebc11..7d618a969524 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -783,6 +783,7 @@ skip:
err = reserve_new_blocks(&dn, prealloc);
if (err)
goto sync_out;
+ allocated = dn.node_changed;
map->m_len += dn.ofs_in_node - ofs_in_node;
if (prealloc && dn.ofs_in_node != last_ofs_in_node + 1) {