f2fs: fix missing unlock(sbi->gc_mutex)
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 18 Dec 2018 01:08:26 +0000 (17:08 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 26 Dec 2018 23:16:55 +0000 (15:16 -0800)
This fixes missing unlock call.

Cc: <stable@vger.kernel.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/super.c

index b796776..cec7ef2 100644 (file)
@@ -1457,19 +1457,16 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi)
 
        sbi->sb->s_flags |= SB_ACTIVE;
 
-       mutex_lock(&sbi->gc_mutex);
        f2fs_update_time(sbi, DISABLE_TIME);
 
        while (!f2fs_time_over(sbi, DISABLE_TIME)) {
+               mutex_lock(&sbi->gc_mutex);
                err = f2fs_gc(sbi, true, false, NULL_SEGNO);
                if (err == -ENODATA)
                        break;
-               if (err && err != -EAGAIN) {
-                       mutex_unlock(&sbi->gc_mutex);
+               if (err && err != -EAGAIN)
                        return err;
-               }
        }
-       mutex_unlock(&sbi->gc_mutex);
 
        err = sync_filesystem(sbi->sb);
        if (err)