summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2016-08-20 15:12:02 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2016-08-29 18:31:10 -0700
commit58383befc3377b4e2305b98f91e445af73ba8d62 (patch)
tree41ea9f6aa9201e7ae53e3de641188b6e5eab850d /fs/f2fs/data.c
parentd600af236da51d9e3b90d21a23f95b820bd02e2f (diff)
downloadlinux-58383befc3377b4e2305b98f91e445af73ba8d62.tar.gz
linux-58383befc3377b4e2305b98f91e445af73ba8d62.tar.bz2
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) {