On 2018/12/18 10:15, Jaegeuk Kim wrote:
This fixes missing unlock call.
Cc: stable@vger.kernel.org Signed-off-by: Jaegeuk Kim jaegeuk@kernel.org
fs/f2fs/super.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index b79677639108..2689a2cb56cc 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1462,6 +1462,9 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi) while (!f2fs_time_over(sbi, DISABLE_TIME)) { err = f2fs_gc(sbi, true, false, NULL_SEGNO);
/* f2fs_gc guarantees unlock gc_mutex */
How about:
while () { mutex_lock(&sbi->gc_mutex); err = f2fs_gc(); if (err) { handle error cases.. } }
Thanks,
if (err == -ENODATA) break; if (err && err != -EAGAIN) {mutex_lock(&sbi->gc_mutex);