diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 6f21319d08d34d8fe0b20739eefb04dc689c6045..82664733f7702d1b4efbfc3266f97f6c78598827 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1638,7 +1638,9 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi, !is_cold_node(page))) continue; lock_node: - if (!trylock_page(page)) + if (wbc->sync_mode == WB_SYNC_ALL) + lock_page(page); + else if (!trylock_page(page)) continue; if (unlikely(page->mapping != NODE_MAPPING(sbi))) {