summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/inode.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2020-06-28 04:58:17 +0200
committerJaegeuk Kim <jaegeuk@kernel.org>2020-07-08 06:51:45 +0200
commita6d601f30d3bae3429c39a4e0fa290e344b7c57f (patch)
treeada7e4fdf01ff1bf9af5474726f0d070cdb69bc5 /fs/f2fs/inode.c
parentf2fs: show more debug info for per-temperature log (diff)
downloadlinux-a6d601f30d3bae3429c39a4e0fa290e344b7c57f.tar.xz
linux-a6d601f30d3bae3429c39a4e0fa290e344b7c57f.zip
f2fs: fix to wait page writeback before update
Filesystem including f2fs should support stable page for special device like software raid, however there is one missing path that page could be updated while it is writeback state as below, fix this. - gc_node_segment - f2fs_move_node_page - __write_node_page - set_page_writeback - do_read_inode - f2fs_init_extent_tree - __f2fs_init_extent_tree i_ext->len = 0; Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/inode.c')
-rw-r--r--fs/f2fs/inode.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index 33affa788588..66969ae852b9 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -367,8 +367,7 @@ static int do_read_inode(struct inode *inode)
fi->i_pino = le32_to_cpu(ri->i_pino);
fi->i_dir_level = ri->i_dir_level;
- if (f2fs_init_extent_tree(inode, &ri->i_ext))
- set_page_dirty(node_page);
+ f2fs_init_extent_tree(inode, node_page);
get_inline_info(inode, ri);