Home
last modified time | relevance | path

Searched hist:dc5a9412 (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/fs/f2fs/
H A Dnode.cdc5a9412 Fri Feb 14 03:45:12 CST 2020 Chao Yu <yuchao0@huawei.com> 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>
dc5a9412 Fri Feb 14 03:45:12 CST 2020 Chao Yu <yuchao0@huawei.com> 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>