f2fs: fix to do f2fs_balance_fs in f2fs_map_blocks correctly
authorChao Yu <yuchao0@huawei.com>
Sat, 20 Aug 2016 07:12:02 +0000 (15:12 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 30 Aug 2016 01:31:10 +0000 (18:31 -0700)
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>
fs/f2fs/data.c

index ccb401e..7d618a9 100644 (file)
@@ -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) {