linux/fs/f2fs
Chao Yu 2411cf5bef 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>
2016-11-23 12:10:49 -08:00
..
acl.c Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 13:04:49 -07:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: introduce update_ckpt_flags to clean up 2016-09-30 17:55:24 -07:00
data.c fs: use mapping_set_error instead of opencoded set_bit 2016-10-11 15:06:33 -07:00
debug.c f2fs: show dirty inode number 2016-09-22 11:43:07 -07:00
dir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
extent_cache.c f2fs: disable extent_cache for fcollapse/finsert inodes 2016-07-15 15:21:20 -07:00
f2fs.h f2fs: support checkpoint error injection 2016-09-30 17:34:35 -07:00
file.c f2fs: fix overflow due to condition check order 2016-11-23 12:10:48 -08:00
gc.c f2fs: fix wrong sum_page pointer in f2fs_gc 2016-10-12 16:23:36 -07:00
gc.h f2fs: detect idle time depending on user behavior 2016-01-11 15:56:37 -08:00
hash.c f2fs: introduce dot and dotdot name check 2015-05-28 15:41:34 -07:00
inline.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
inode.c f2fs: support configuring fault injection per superblock 2016-09-30 17:34:31 -07:00
Kconfig f2fs: add mount option to select fault injection ratio 2016-05-07 10:32:22 -07:00
Makefile fs crypto: move per-file encryption from f2fs tree to fs/crypto 2016-03-17 21:19:33 -07:00
namei.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
node.c f2fs: exclude free nids building and allocation 2016-11-23 12:10:49 -08:00
node.h f2fs: introduce cp_lock to protect updating of ckpt_flags 2016-09-30 17:34:20 -07:00
recovery.c f2fs: introduce cp_lock to protect updating of ckpt_flags 2016-09-30 17:34:20 -07:00
segment.c f2fs: support checkpoint error injection 2016-09-30 17:34:35 -07:00
segment.h f2fs: check free_sections for defragmentation 2016-09-12 10:30:41 -07:00
shrinker.c f2fs: produce more nids and reduce readahead nats 2016-07-06 10:44:08 -07:00
super.c f2fs: support checkpoint error injection 2016-09-30 17:34:35 -07:00
trace.c f2fs: use bio op accessors 2016-06-07 13:41:38 -06:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
xattr.h f2fs: add missing argument to f2fs_setxattr stub 2016-03-17 21:19:47 -07:00