f2fs: exclude free nids building and allocation
authorChao Yu <yuchao0@huawei.com>
Tue, 11 Oct 2016 14:31:34 +0000 (22:31 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 23 Nov 2016 20:10:49 +0000 (12:10 -0800)
commit2411cf5befa5804e4ced4c45a3212d7653869286
treecd2710b9a23863443f432fd35e1bd0a50ded9032
parente87f7329bbd6760c2acc4f1eb423362b08851a71
f2fs: exclude free nids building and allocation

During nid allocation, it needs to exclude building and allocating flow
of free nids, this is because while building free nid cache, there are two
steps: a) load free nids from unused nat entries in NAT pages, b) update
free nid cache by checking nat journal. The two steps should be atomical,
otherwise an used nid can be allocated as free one after a) and before b).

This patch adds missing lock which covers build_free_nids in
unlock_operation and f2fs_balance_fs_bg to avoid that.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c