Re: [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()

From: Jaegeuk Kim
Date: Wed Oct 27 2021 - 18:34:24 EST


Could you post the patch again? I don't see this in my box.

On 10/27, Chao Yu wrote:
> Jaegeuk,
>
> Missed to apply this patch?
>
> Thanks,
>
> On 2021/9/24 17:50, Pavel Machek wrote:
> > Hi!
> >
> > > This code looks quite confused: part of function returns 1 on
> > > corruption, part returns -errno. The problem is not stable-specific.
> > >
> > > [1] https://lkml.org/lkml/2021/9/19/207
> > >
> > > Let's fix to make 'insane cp_payload case' to return 1 rater than
> > > EFSCORRUPTED, so that return value can be kept consistent for all
> > > error cases, it can avoid confusion of code logic.
> > >
> > > Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
> > > Reported-by: Pavel Machek <pavel@xxxxxxx>
> > > Signed-off-by: Chao Yu <chao@xxxxxxxxxx>
> >
> > Reviewed-by: Pavel Machek <pavel@xxxxxxx>
> >
> > (This is good minimal fix, but eventually I believe the function
> > should switch to 0/-errno... for consistency with rest of kernel).
> >
> > Thank you,
> > Pavel
> >
> > > +++ b/fs/f2fs/super.c
> > > @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
> > > NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
> > > f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
> > > cp_payload, nat_bits_blocks);
> > > - return -EFSCORRUPTED;
> > > + return 1;
> > > }
> > > if (unlikely(f2fs_cp_error(sbi))) {
> >