diff options
| author | Chao Yu <yuchao0@huawei.com> | 2018-08-05 23:02:22 +0800 | 
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2018-08-13 10:48:17 -0700 | 
| commit | c7079853c859c910b9d047a37891b4aafb8f8dd7 (patch) | |
| tree | 9d5f827b0c96b80858080012618f1d634c1f3e1e /include/linux/fpga/fpga-mgr.h | |
| parent | 91291e9998d208370eb8156c760691b873bd7522 (diff) | |
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 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions
