f2fs: fix to wait page writeback during revoking atomic write
authorChao Yu <yuchao0@huawei.com>
Mon, 23 Apr 2018 02:36:13 +0000 (10:36 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 31 May 2018 18:31:51 +0000 (11:31 -0700)
After revoking atomic write, related LBA can be reused by others, so we
need to wait page writeback before reusing the LBA, in order to avoid
interference between old atomic written in-flight IO and new IO.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/segment.c

index bf9dafd2149968a72e16008932bf1e9c9293971c..8fabf3a34bd772bee1080ffbd65cdc5b0f972e91 100644 (file)
@@ -230,6 +230,8 @@ static int __revoke_inmem_pages(struct inode *inode,
 
                lock_page(page);
 
+               f2fs_wait_on_page_writeback(page, DATA, true);
+
                if (recover) {
                        struct dnode_of_data dn;
                        struct node_info ni;