some backing devices need pages to be stable during writeback. It doesn't
matter if 
the page is completely overwritten or already uptodate, it needs to wait
before write.

Signed-off-by: Fan li <[email protected]>
---
 fs/f2fs/data.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 57042bd..364840f 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1386,13 +1386,13 @@ put_next:
        f2fs_put_dnode(&dn);
        f2fs_unlock_op(sbi);
 
+       f2fs_wait_on_page_writeback(page, DATA);
+
        if (len == PAGE_CACHE_SIZE)
                goto out_update;
        if (PageUptodate(page))
                goto out_clear;
 
-       f2fs_wait_on_page_writeback(page, DATA);
-
        if ((pos & PAGE_CACHE_MASK) >= i_size_read(inode)) {
                unsigned start = pos & (PAGE_CACHE_SIZE - 1);
                unsigned end = start + len;
--
1.7.9.5


------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to