]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: fix to update new block address correctly for OPU
authorJia Zhu <zhujia13@huawei.com>
Mon, 26 Nov 2018 18:32:32 +0000 (02:32 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jan 2019 16:46:01 +0000 (17:46 +0100)
commit 73c0a9272a7d2942bcae29d4829bf63277cc57c8 upstream.

Previously, we allocated a new block address for OPU mode in direct_IO.

But the new address couldn't be assigned to @map->m_pblk correctly.

This patch fix it.

Cc: <stable@vger.kernel.org>
Fixes: 511f52d02f05 ("f2fs: allow out-place-update for direct IO in LFS mode")
Signed-off-by: Jia Zhu <zhujia13@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/data.c

index b293cb3e27a228bd4549b71aed643116fb1c80bc..17049b030b6c53b3e78caccf21c2080bfa7902d8 100644 (file)
@@ -1102,8 +1102,10 @@ next_block:
                if (test_opt(sbi, LFS) && create &&
                                flag == F2FS_GET_BLOCK_DIO) {
                        err = __allocate_data_block(&dn, map->m_seg_type);
-                       if (!err)
+                       if (!err) {
+                               blkaddr = dn.data_blkaddr;
                                set_inode_flag(inode, FI_APPEND_WRITE);
+                       }
                }
        } else {
                if (create) {