diff options
author | 2018-08-05 23:02:22 +0800 | |
---|---|---|
committer | 2018-08-13 10:48:17 -0700 | |
commit | c7079853c859c910b9d047a37891b4aafb8f8dd7 (patch) | |
tree | 9d5f827b0c96b80858080012618f1d634c1f3e1e /tools/perf/scripts/python/export-to-sqlite.py | |
parent | f2fs: fix to do sanity check with block address in main area v2 (diff) | |
download | wireguard-linux-c7079853c859c910b9d047a37891b4aafb8f8dd7.tar.xz wireguard-linux-c7079853c859c910b9d047a37891b4aafb8f8dd7.zip |
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 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions