diff options
author | Chao Yu <yuchao0@huawei.com> | 2020-02-14 17:45:12 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2020-02-27 10:16:44 -0800 |
commit | dc5a941223edd803f476a153abd950cc3a83c3e1 (patch) | |
tree | 4be9d96004af447e65f2a96bd044c77ebcca9f38 /fs/f2fs/super.c | |
parent | b19e8c68470385dd2c5440876591fddb02c8c402 (diff) | |
download | linux-dc5a941223edd803f476a153abd950cc3a83c3e1.tar.gz linux-dc5a941223edd803f476a153abd950cc3a83c3e1.tar.bz2 linux-dc5a941223edd803f476a153abd950cc3a83c3e1.zip |
f2fs: fix to wait all node page writeback
There is a race condition that we may miss to wait for all node pages
writeback, fix it.
- fsync() - shrink
- f2fs_do_sync_file
- __write_node_page
- set_page_writeback(page#0)
: remove DIRTY/TOWRITE flag
- f2fs_fsync_node_pages
: won't find page #0 as TOWRITE flag was removeD
- f2fs_wait_on_node_pages_writeback
: wont' wait page #0 writeback as it was not in fsync_node_list list.
- f2fs_add_fsync_node_entry
Fixes: 50fa53eccf9f ("f2fs: fix to avoid broken of dnode block list")
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/super.c')
0 files changed, 0 insertions, 0 deletions