mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-14 12:37:32 +00:00
f2fs: do not skip updating inode when retrying to flush node page
Let's try to flush dirty inode again to improve subtle i_blocks mismatch. Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
c5bca38d2e
commit
7859e97f62
1 changed files with 2 additions and 6 deletions
|
@ -1945,7 +1945,6 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
|
|||
for (i = 0; i < nr_pages; i++) {
|
||||
struct page *page = pvec.pages[i];
|
||||
bool submitted = false;
|
||||
bool may_dirty = true;
|
||||
|
||||
/* give a priority to WB_SYNC threads */
|
||||
if (atomic_read(&sbi->wb_sync_req[NODE]) &&
|
||||
|
@ -1998,11 +1997,8 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
|
|||
}
|
||||
|
||||
/* flush dirty inode */
|
||||
if (IS_INODE(page) && may_dirty) {
|
||||
may_dirty = false;
|
||||
if (flush_dirty_inode(page))
|
||||
goto lock_node;
|
||||
}
|
||||
if (IS_INODE(page) && flush_dirty_inode(page))
|
||||
goto lock_node;
|
||||
write_node:
|
||||
f2fs_wait_on_page_writeback(page, NODE, true, true);
|
||||
|
||||
|
|
Loading…
Reference in a new issue