summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2018-08-05 23:02:22 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2018-08-13 10:48:17 -0700
commitc7079853c859c910b9d047a37891b4aafb8f8dd7 (patch)
tree9d5f827b0c96b80858080012618f1d634c1f3e1e /fs/f2fs/data.c
parent91291e9998d208370eb8156c760691b873bd7522 (diff)
downloadlinux-c7079853c859c910b9d047a37891b4aafb8f8dd7.tar.bz2
f2fs: avoid race between zero_range and background GC
Thread A Background GC - f2fs_zero_range - truncate_pagecache_range - gc_data_segment - get_read_data_page - move_data_page - set_page_dirty - set_cold_data - f2fs_do_zero_range - dn->data_blkaddr = NEW_ADDR; - f2fs_set_data_blkaddr Actually, we don't need to set dirty & checked flag on the page, since all valid data in the page should be zeroed by zero_range(). Use i_gc_rwsem[WRITE] to avoid such race condition. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
0 files changed, 0 insertions, 0 deletions