diff options
author | Jaegeuk Kim | 2018-10-17 04:30:13 +0200 |
---|---|---|
committer | Jaegeuk Kim | 2018-10-23 02:54:46 +0200 |
commit | 164a63fa6b384e30ceb96ed80bc7dc3379bc0960 (patch) | |
tree | 693bba08dc02ec5637e8d3102a979f0801935818 /fs/f2fs/dir.c | |
parent | f2fs: account read IOs and use IO counts for is_idle (diff) | |
download | kernel-qcow2-linux-164a63fa6b384e30ceb96ed80bc7dc3379bc0960.tar.gz kernel-qcow2-linux-164a63fa6b384e30ceb96ed80bc7dc3379bc0960.tar.xz kernel-qcow2-linux-164a63fa6b384e30ceb96ed80bc7dc3379bc0960.zip |
Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
This reverts commit 66110abc4c931f879d70e83e1281f891699364bf.
If we clear the cold data flag out of the writeback flow, we can miscount
-1 by end_io, which incurs a deadlock caused by all I/Os being blocked during
heavy GC.
Balancing F2FS Async:
- IO (CP: 1, Data: -1, Flush: ( 0 0 1), Discard: ( ...
GC thread: IRQ
- move_data_page()
- set_page_dirty()
- clear_cold_data()
- f2fs_write_end_io()
- type = WB_DATA_TYPE(page);
here, we get wrong type
- dec_page_count(sbi, type);
- f2fs_wait_on_page_writeback()
Cc: <stable@vger.kernel.org>
Reported-and-Tested-by: Park Ju Hyung <qkrwngud825@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/dir.c')
0 files changed, 0 insertions, 0 deletions