f2fs: fix to wait on block writeback for post_read case
[sfrench/cifs-2.6.git] / fs / f2fs / data.c
index 27015b7875aed6da2cb6be2616465802f14ccb43..dce8defdf4c7f910719dc311b5efc7e4ec9fa251 100644 (file)
@@ -2556,9 +2556,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;
 
@@ -2745,6 +2742,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.