On 2017/9/6 1:47, Jaegeuk Kim wrote: > On 09/05, Chao Yu wrote: >> Hi Jaegeuk, >> >> I still can hit kernel panic with this patch, the reason is reorder of log >> header >> during mkfs is not actually executed, it needs to change as below. >> >> On 2017/8/28 17:47, Chao Yu wrote: >>> On 2017/8/26 8:10, Jaegeuk Kim wrote: >>>> We should avoid i==j, otherwise we always assign 0~5 segments. >>>> >>>> Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> >>> >>> Reviewed-by: Chao Yu <yuch...@huawei.com> >>> >>>> --- >>>> mkfs/f2fs_format.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c >>>> index b379e80..219c2a7 100644 >>>> --- a/mkfs/f2fs_format.c >>>> +++ b/mkfs/f2fs_format.c >>>> @@ -123,7 +123,7 @@ static void verify_cur_segs(void) >>>> >>>> for (i = 0; i < NR_CURSEG_TYPE; i++) { >>>> for (j = 0; j < NR_CURSEG_TYPE; j++) >>>> - if (c.cur_seg[i] == c.cur_seg[j]) >>>> + if (i != j && c.cur_seg[i] == c.cur_seg[j]) >>>> break; >> >> if (i != j && c.cur_seg[i] == c.cur_seg[j]) > > Can be overflowed? > > How about this?
It's OK to me. :) Thanks, > >>From 53923f74b188028c4f5a8b64b330f0d7b12adf24 Mon Sep 17 00:00:00 2001 > From: Jaegeuk Kim <jaeg...@kernel.org> > Date: Thu, 24 Aug 2017 19:33:10 -0700 > Subject: [PATCH] mkfs.f2fs: fix wrong curseg check > > We should avoid i==j, otherwise we always assign 0~5 segments. > > Reviewed-by: Chao Yu <yuch...@huawei.com> > Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> > --- > mkfs/f2fs_format.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c > index b379e80..8319f24 100644 > --- a/mkfs/f2fs_format.c > +++ b/mkfs/f2fs_format.c > @@ -120,14 +120,18 @@ next: > static void verify_cur_segs(void) > { > int i, j; > + bool reorder = false; > > for (i = 0; i < NR_CURSEG_TYPE; i++) { > - for (j = 0; j < NR_CURSEG_TYPE; j++) > - if (c.cur_seg[i] == c.cur_seg[j]) > + for (j = i + 1; j < NR_CURSEG_TYPE; j++) { > + if (c.cur_seg[i] == c.cur_seg[j]) { > + reorder = true; > break; > + } > + } > } > > - if (i == NR_CURSEG_TYPE && j == NR_CURSEG_TYPE) > + if (!reorder) > return; > > c.cur_seg[0] = 0; > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel