f2fs: fix to wait on block writeback for post_read case
[platform/kernel/linux-starfive.git] / fs / f2fs / data.c
index 1ac34eb..f5f3392 100644 (file)
@@ -2568,9 +2568,6 @@ int f2fs_encrypt_one_page(struct f2fs_io_info *fio)
 
        page = fio->compressed_page ? fio->compressed_page : fio->page;
 
-       /* wait for GCed page writeback via META_MAPPING */
-       f2fs_wait_on_block_writeback(inode, fio->old_blkaddr);
-
        if (fscrypt_inode_uses_inline_crypto(inode))
                return 0;
 
@@ -2752,6 +2749,10 @@ got_it:
                goto out_writepage;
        }
 
+       /* wait for GCed page writeback via META_MAPPING */
+       if (fio->post_read)
+               f2fs_wait_on_block_writeback(inode, fio->old_blkaddr);
+
        /*
         * If current allocation needs SSR,
         * it had better in-place writes for updated data.