Re: [f2fs-dev] [PATCH] f2fs: prevent meta updates while checkpoint is in progress

From: Sahitya Tummala
Date: Mon Apr 20 2020 - 07:37:19 EST


Hi Jaegeuk,

On Fri, Apr 17, 2020 at 09:15:16AM -0700, Jaegeuk Kim wrote:
> Hi Sahitya,
>
> Could you please test this patch fully? I didn't test at all.

I have tested v5 and so far found only one problem where MAIN_SECS(sbi)
isn't updated properly. Fixed it as below.

diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 603f195..a5166b1 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -1450,7 +1450,7 @@ static int free_segment_range(struct f2fs_sb_info *sbi,
f2fs_bug_on(sbi, 1);
}
out:
- MAIN_SECS(sbi) -= secs;
+ MAIN_SECS(sbi) += secs;
return err;
}

I will let you know in case anything else shows up later.

Thanks,

>
> Thanks,
>
> On 04/17, Chao Yu wrote:
> > On 2020/4/17 5:40, Jaegeuk Kim wrote:
> > > On 04/14, Jaegeuk Kim wrote:
> > >> On 04/13, Jaegeuk Kim wrote:
> > >>> On 04/03, Jaegeuk Kim wrote:
> > >>>> On 04/03, Jaegeuk Kim wrote:
> > >>>>> On 04/01, Sahitya Tummala wrote:
> > >>>>>> Hi Jaegeuk,
> > >>>>>>
> > >>>>>> Got it.
> > >>>>>> The diff below looks good to me.
> > >>>>>> Would you like me to test it and put a patch for this?
> > >>>>>
> > >>>>> Sahitya, Chao,
> > >>>>>
> > >>>>> Could you please take a look at this patch and test intensively?
> > >>>>>
> > >>>>> Thanks,
> > >
> > > v5:
> > > - add signal handler
> > >
> > > Sahitya raised an issue:
> > > - prevent meta updates while checkpoint is in progress
> > >
> > > allocate_segment_for_resize() can cause metapage updates if
> > > it requires to change the current node/data segments for resizing.
> > > Stop these meta updates when there is a checkpoint already
> > > in progress to prevent inconsistent CP data.
> > >
> > > Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx>
> > > Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
> >
> > Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>
> >
> > Thanks,

--
--
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.