This fixes missing unlock call.

Cc: <sta...@vger.kernel.org>
Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---

v1 -> v2:
 - clean up

 fs/f2fs/super.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index b79677639108..cec7ef27b389 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -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)
-- 
2.19.0.605.g01d371f741-goog

Reply via email to