summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2019-04-26 17:57:54 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2019-05-08 21:23:13 -0700
commit896285ad02ea1e8a7cedbceb5e5656335b7ae563 (patch)
tree5758d2c5e4e19d09e4e6749057802e51e2f01686 /fs
parentd5d5f0c0c9160f00dd0729ebd3c46e31acc26672 (diff)
downloadlinux-896285ad02ea1e8a7cedbceb5e5656335b7ae563.tar.bz2
f2fs: fix to handle error in f2fs_disable_checkpoint()
In f2fs_disable_checkpoint(), it needs to detect and propagate error number returned from f2fs_write_checkpoint(). Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/super.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 4f8e9ab48b26..fe075aa12893 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1504,9 +1504,12 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi)
mutex_lock(&sbi->gc_mutex);
cpc.reason = CP_PAUSE;
set_sbi_flag(sbi, SBI_CP_DISABLED);
- f2fs_write_checkpoint(sbi, &cpc);
+ err = f2fs_write_checkpoint(sbi, &cpc);
+ if (err)
+ goto out_unlock;
sbi->unusable_block_count = 0;
+out_unlock:
mutex_unlock(&sbi->gc_mutex);
restore_flag:
sbi->sb->s_flags = s_flags; /* Restore MS_RDONLY status */