Message ID | 20200729025119.GV7600@magnolia (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xfs/010,030: filter AG header CRC error warnings | expand |
On Tue, Jul 28, 2020 at 07:51:19PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@oracle.com> > > Filter out the new AG header CRC verification warnings in xfs_repair > since these tests were built before that existed. > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> > --- Hi Darrick, I still hit an error[1] on xfs/030 after merge your patch. Thanks, Zorro # diff -u ./tests/xfs/030.out ./results//xfs/030.out.bad --- /root/git/xfstests-dev/tests/xfs/030.out 2020-03-12 11:22:50.063148796 +0800 +++ /root/git/xfstests-dev/results//xfs/030.out.bad 2020-07-29 12:33:08.485428533 +0800 @@ -105,6 +105,7 @@ Phase 2 - using <TYPEOF> log - zero log... - scan filesystem freespace and inode maps... +bad agbno AGBNO in agfl, agno 0 - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... > tests/xfs/010 | 7 ++++++- > tests/xfs/030 | 2 ++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tests/xfs/010 b/tests/xfs/010 > index e220a651..b65dd3ba 100755 > --- a/tests/xfs/010 > +++ b/tests/xfs/010 > @@ -113,7 +113,12 @@ _check_scratch_fs > # nuke the finobt root, repair will have to regenerate from the inobt > _corrupt_finobt_root $SCRATCH_DEV > > -_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks > +filter_finobt_repair() { > + sed -e '/^agi has bad CRC/d' | \ > + _filter_repair_lostblocks > +} > + > +_scratch_xfs_repair 2>&1 | filter_finobt_repair > > status=0 > exit > diff --git a/tests/xfs/030 b/tests/xfs/030 > index efdb6a18..ebe4c92a 100755 > --- a/tests/xfs/030 > +++ b/tests/xfs/030 > @@ -42,6 +42,8 @@ _check_ag() > -e '/^bad agbno AGBNO for finobt/d' \ > -e '/^bad agbno AGBNO for rmapbt/d' \ > -e '/^bad agbno AGBNO for refcntbt/d' \ > + -e '/^agf has bad CRC/d' \ > + -e '/^agi has bad CRC/d' \ > -e '/^Missing reverse-mapping record.*/d' \ > -e '/^unknown block state, ag AGNO, block.*/d' > done >
On Wed, Jul 29, 2020 at 12:49:56PM +0800, Zorro Lang wrote: > On Tue, Jul 28, 2020 at 07:51:19PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@oracle.com> > > > > Filter out the new AG header CRC verification warnings in xfs_repair > > since these tests were built before that existed. > > > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> > > --- > > Hi Darrick, > > I still hit an error[1] on xfs/030 after merge your patch. D'oh, I forgot to send that one out in this batch. Will fix that shortly. --D > Thanks, > Zorro > > # diff -u ./tests/xfs/030.out ./results//xfs/030.out.bad > --- /root/git/xfstests-dev/tests/xfs/030.out 2020-03-12 11:22:50.063148796 +0800 > +++ /root/git/xfstests-dev/results//xfs/030.out.bad 2020-07-29 12:33:08.485428533 +0800 > @@ -105,6 +105,7 @@ > Phase 2 - using <TYPEOF> log > - zero log... > - scan filesystem freespace and inode maps... > +bad agbno AGBNO in agfl, agno 0 > - found root inode chunk > Phase 3 - for each AG... > - scan and clear agi unlinked lists... > > > tests/xfs/010 | 7 ++++++- > > tests/xfs/030 | 2 ++ > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/tests/xfs/010 b/tests/xfs/010 > > index e220a651..b65dd3ba 100755 > > --- a/tests/xfs/010 > > +++ b/tests/xfs/010 > > @@ -113,7 +113,12 @@ _check_scratch_fs > > # nuke the finobt root, repair will have to regenerate from the inobt > > _corrupt_finobt_root $SCRATCH_DEV > > > > -_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks > > +filter_finobt_repair() { > > + sed -e '/^agi has bad CRC/d' | \ > > + _filter_repair_lostblocks > > +} > > + > > +_scratch_xfs_repair 2>&1 | filter_finobt_repair > > > > status=0 > > exit > > diff --git a/tests/xfs/030 b/tests/xfs/030 > > index efdb6a18..ebe4c92a 100755 > > --- a/tests/xfs/030 > > +++ b/tests/xfs/030 > > @@ -42,6 +42,8 @@ _check_ag() > > -e '/^bad agbno AGBNO for finobt/d' \ > > -e '/^bad agbno AGBNO for rmapbt/d' \ > > -e '/^bad agbno AGBNO for refcntbt/d' \ > > + -e '/^agf has bad CRC/d' \ > > + -e '/^agi has bad CRC/d' \ > > -e '/^Missing reverse-mapping record.*/d' \ > > -e '/^unknown block state, ag AGNO, block.*/d' > > done > > >
Hi Darrick, Eryu It seems that fstests missed this patch. I used lastest xfsprogs (include commit a891d871 xfs_repair: complain about ag header crc errors) and xfs/030 still fails because of CRC verification warnings. Best Regards Yang Xu > On Wed, Jul 29, 2020 at 12:49:56PM +0800, Zorro Lang wrote: >> On Tue, Jul 28, 2020 at 07:51:19PM -0700, Darrick J. Wong wrote: >>> From: Darrick J. Wong <darrick.wong@oracle.com> >>> >>> Filter out the new AG header CRC verification warnings in xfs_repair >>> since these tests were built before that existed. >>> >>> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> >>> --- >> >> Hi Darrick, >> >> I still hit an error[1] on xfs/030 after merge your patch. > > D'oh, I forgot to send that one out in this batch. Will fix that > shortly. > > --D > >> Thanks, >> Zorro >> >> # diff -u ./tests/xfs/030.out ./results//xfs/030.out.bad >> --- /root/git/xfstests-dev/tests/xfs/030.out 2020-03-12 11:22:50.063148796 +0800 >> +++ /root/git/xfstests-dev/results//xfs/030.out.bad 2020-07-29 12:33:08.485428533 +0800 >> @@ -105,6 +105,7 @@ >> Phase 2 - using <TYPEOF> log >> - zero log... >> - scan filesystem freespace and inode maps... >> +bad agbno AGBNO in agfl, agno 0 >> - found root inode chunk >> Phase 3 - for each AG... >> - scan and clear agi unlinked lists... >> >>> tests/xfs/010 | 7 ++++++- >>> tests/xfs/030 | 2 ++ >>> 2 files changed, 8 insertions(+), 1 deletion(-) >>> >>> diff --git a/tests/xfs/010 b/tests/xfs/010 >>> index e220a651..b65dd3ba 100755 >>> --- a/tests/xfs/010 >>> +++ b/tests/xfs/010 >>> @@ -113,7 +113,12 @@ _check_scratch_fs >>> # nuke the finobt root, repair will have to regenerate from the inobt >>> _corrupt_finobt_root $SCRATCH_DEV >>> >>> -_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks >>> +filter_finobt_repair() { >>> + sed -e '/^agi has bad CRC/d' | \ >>> + _filter_repair_lostblocks >>> +} >>> + >>> +_scratch_xfs_repair 2>&1 | filter_finobt_repair >>> >>> status=0 >>> exit >>> diff --git a/tests/xfs/030 b/tests/xfs/030 >>> index efdb6a18..ebe4c92a 100755 >>> --- a/tests/xfs/030 >>> +++ b/tests/xfs/030 >>> @@ -42,6 +42,8 @@ _check_ag() >>> -e '/^bad agbno AGBNO for finobt/d' \ >>> -e '/^bad agbno AGBNO for rmapbt/d' \ >>> -e '/^bad agbno AGBNO for refcntbt/d' \ >>> + -e '/^agf has bad CRC/d' \ >>> + -e '/^agi has bad CRC/d' \ >>> -e '/^Missing reverse-mapping record.*/d' \ >>> -e '/^unknown block state, ag AGNO, block.*/d' >>> done >>> >> > >
Hi Darrick,Eryu ping. Or I miss something? > Hi Darrick, Eryu > > It seems that fstests missed this patch. I used lastest xfsprogs > (include commit a891d871 xfs_repair: complain about ag header crc > errors) and xfs/030 still fails because of CRC verification warnings. > > Best Regards > Yang Xu >> On Wed, Jul 29, 2020 at 12:49:56PM +0800, Zorro Lang wrote: >>> On Tue, Jul 28, 2020 at 07:51:19PM -0700, Darrick J. Wong wrote: >>>> From: Darrick J. Wong <darrick.wong@oracle.com> >>>> >>>> Filter out the new AG header CRC verification warnings in xfs_repair >>>> since these tests were built before that existed. >>>> >>>> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> >>>> --- >>> >>> Hi Darrick, >>> >>> I still hit an error[1] on xfs/030 after merge your patch. >> >> D'oh, I forgot to send that one out in this batch. Will fix that >> shortly. >> >> --D >> >>> Thanks, >>> Zorro >>> >>> # diff -u ./tests/xfs/030.out ./results//xfs/030.out.bad >>> --- /root/git/xfstests-dev/tests/xfs/030.out 2020-03-12 >>> 11:22:50.063148796 +0800 >>> +++ /root/git/xfstests-dev/results//xfs/030.out.bad 2020-07-29 >>> 12:33:08.485428533 +0800 >>> @@ -105,6 +105,7 @@ >>> Phase 2 - using <TYPEOF> log >>> - zero log... >>> - scan filesystem freespace and inode maps... >>> +bad agbno AGBNO in agfl, agno 0 >>> - found root inode chunk >>> Phase 3 - for each AG... >>> - scan and clear agi unlinked lists... >>> >>>> tests/xfs/010 | 7 ++++++- >>>> tests/xfs/030 | 2 ++ >>>> 2 files changed, 8 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/tests/xfs/010 b/tests/xfs/010 >>>> index e220a651..b65dd3ba 100755 >>>> --- a/tests/xfs/010 >>>> +++ b/tests/xfs/010 >>>> @@ -113,7 +113,12 @@ _check_scratch_fs >>>> # nuke the finobt root, repair will have to regenerate from the inobt >>>> _corrupt_finobt_root $SCRATCH_DEV >>>> -_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks >>>> +filter_finobt_repair() { >>>> + sed -e '/^agi has bad CRC/d' | \ >>>> + _filter_repair_lostblocks >>>> +} >>>> + >>>> +_scratch_xfs_repair 2>&1 | filter_finobt_repair >>>> status=0 >>>> exit >>>> diff --git a/tests/xfs/030 b/tests/xfs/030 >>>> index efdb6a18..ebe4c92a 100755 >>>> --- a/tests/xfs/030 >>>> +++ b/tests/xfs/030 >>>> @@ -42,6 +42,8 @@ _check_ag() >>>> -e '/^bad agbno AGBNO for finobt/d' \ >>>> -e '/^bad agbno AGBNO for rmapbt/d' \ >>>> -e '/^bad agbno AGBNO for refcntbt/d' \ >>>> + -e '/^agf has bad CRC/d' \ >>>> + -e '/^agi has bad CRC/d' \ >>>> -e '/^Missing reverse-mapping record.*/d' \ >>>> -e '/^unknown block state, ag AGNO, block.*/d' >>>> done >>>> >>> >> >>
diff --git a/tests/xfs/010 b/tests/xfs/010 index e220a651..b65dd3ba 100755 --- a/tests/xfs/010 +++ b/tests/xfs/010 @@ -113,7 +113,12 @@ _check_scratch_fs # nuke the finobt root, repair will have to regenerate from the inobt _corrupt_finobt_root $SCRATCH_DEV -_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks +filter_finobt_repair() { + sed -e '/^agi has bad CRC/d' | \ + _filter_repair_lostblocks +} + +_scratch_xfs_repair 2>&1 | filter_finobt_repair status=0 exit diff --git a/tests/xfs/030 b/tests/xfs/030 index efdb6a18..ebe4c92a 100755 --- a/tests/xfs/030 +++ b/tests/xfs/030 @@ -42,6 +42,8 @@ _check_ag() -e '/^bad agbno AGBNO for finobt/d' \ -e '/^bad agbno AGBNO for rmapbt/d' \ -e '/^bad agbno AGBNO for refcntbt/d' \ + -e '/^agf has bad CRC/d' \ + -e '/^agi has bad CRC/d' \ -e '/^Missing reverse-mapping record.*/d' \ -e '/^unknown block state, ag AGNO, block.*/d' done