]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Aug 2018 05:47:39 +0000 (07:47 +0200)
[ Upstream commit e5e5732d8120654159254c16834bc8663d8be124 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/segment.c

index 9b3b9fed275c36e831db440743fe09d22c58c95e..c06489634655be5c34731aef374cb05393c52fdc 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;