Re: [f2fs-dev] [PATCH] f2fs: fix wrong continue condition in GC

From: Jaegeuk Kim
Date: Fri Aug 19 2022 - 19:34:08 EST


On 08/15, Chao Yu wrote:
> On 2022/8/13 22:37, Jaegeuk Kim wrote:
> > We should decrease the frozen counter.
> >
> > Cc: stable@xxxxxxxxxx
> > Fixes: 325163e9892b ("f2fs: add gc_urgent_high_remaining sysfs node")
> > Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
> > ---
> > fs/f2fs/gc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
> > index 6da21d405ce1..7e4b41240d59 100644
> > --- a/fs/f2fs/gc.c
> > +++ b/fs/f2fs/gc.c
> > @@ -102,7 +102,7 @@ static int gc_thread_func(void *data)
> > sbi->gc_urgent_high_limited = false;
> > spin_unlock(&sbi->gc_urgent_high_lock);
> > sbi->gc_mode = GC_NORMAL;
> > - continue;
> > + goto next;
> > }
> > sbi->gc_urgent_high_remaining--;
> > }
>
> Why not:
>
> if (!sbi->gc_urgent_high_remaining) {
> sbi->gc_urgent_high_limited = false;
> spin_unlock(&sbi->gc_urgent_high_lock);

Should not call spin_unlock, if so. Anyway, let me send v2.

> sbi->gc_mode = GC_NORMAL;
> } else {
> sbi->gc_urgent_high_remaining--;
> }
>
> Thanks,