diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c index 4fa62f98cb51..455fac164fda 100644 --- a/fs/f2fs/compress.c +++ b/fs/f2fs/compress.c @@ -1477,6 +1477,12 @@ continue_unlock: if (!PageDirty(cc->rpages[i])) goto continue_unlock; + if (PageWriteback(cc->rpages[i])) { + if (wbc->sync_mode == WB_SYNC_NONE) + goto continue_unlock; + f2fs_wait_on_page_writeback(cc->rpages[i], DATA, true, true); + } + if (!clear_page_dirty_for_io(cc->rpages[i])) goto continue_unlock;