Messages in this thread Patch in this message | | | From | Chao Yu <> | Subject | [PATCH] f2fs: fix to use {freeze,thaw}_super in f2fs_resize_fs() | Date | Tue, 31 Mar 2020 09:00:36 +0800 |
| |
freeze_bdev() only freeze block device, however resize_fs() need to freeze all foreground fs operations to keep metadata stable for later update, so use {freeze,thaw}_super() instead.
Fixes: 04f0b2eaa3b3 ("f2fs: ioctl for removing a range from F2FS") Signed-off-by: Chao Yu <yuchao0@huawei.com> --- fs/f2fs/gc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 26248c8936db..acdc8b99b543 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -1538,7 +1538,7 @@ int f2fs_resize_fs(struct f2fs_sb_info *sbi, __u64 block_count) return -EINVAL; } - freeze_bdev(sbi->sb->s_bdev); + freeze_super(sbi->sb); shrunk_blocks = old_block_count - block_count; secs = div_u64(shrunk_blocks, BLKS_PER_SEC(sbi)); @@ -1551,7 +1551,7 @@ int f2fs_resize_fs(struct f2fs_sb_info *sbi, __u64 block_count) sbi->user_block_count -= shrunk_blocks; spin_unlock(&sbi->stat_lock); if (err) { - thaw_bdev(sbi->sb->s_bdev, sbi->sb); + thaw_super(sbi->sb); return err; } @@ -1613,6 +1613,6 @@ int f2fs_resize_fs(struct f2fs_sb_info *sbi, __u64 block_count) } clear_sbi_flag(sbi, SBI_IS_RESIZEFS); mutex_unlock(&sbi->resize_mutex); - thaw_bdev(sbi->sb->s_bdev, sbi->sb); + thaw_super(sbi->sb); return err; } -- 2.18.0.rc1
| |