public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* xfs_check vs. xfs_repair vs. the world^W^Wfstests
@ 2020-04-08  3:00 Darrick J. Wong
  2020-04-08  4:53 ` Chandan Rajendra
  0 siblings, 1 reply; 4+ messages in thread
From: Darrick J. Wong @ 2020-04-08  3:00 UTC (permalink / raw)
  To: linux-xfs; +Cc: Eryu Guan, Chandan Rajendra, fstests, chandan, hch

Hi all,

Ok, so here we are yet again with "Let's deprecate xfs_check out of
fstests for $raisins!", and once again there's the question of what evil
things does repair miss that check didn't?

I hacked up the xfs_repair fuzz tests in fstests to see which ones would
produce cases where xfs_repair -n says the fs is fine but xfs_check
complains and returns nonzero, with the results recorded below.  I did a
little triage...

1. The uid/gid/projid fuzzers and the diskdq fuzzers all seem to fail on
account of the fact that repair does not actually check the quota
counters.

2. While the numrecs fuzz and the directory leaf failures actually spray
btree verifier errors, somehow those are not turned into exit(1).

3. Not sure what the blockcount ones are about, I think that might
simply be inadequate record checking on repair's part.

Those last two are /probably/ simple fixes to xfs_repair.

Not sure what to do about quota in repair -- we could build in the
ability to do quota counts since we scan the whole inode table and
directory tree anyway.  From there it's not so hard to rebuild the quota
inodes too.

Thoughts?

--D

xfs/350:
xfs_repair passed but xfs_check failed (3) with inprogress = ones.
xfs_repair passed but xfs_check failed (3) with inprogress = firstbit.
xfs_repair passed but xfs_check failed (3) with inprogress = middlebit.
xfs_repair passed but xfs_check failed (3) with inprogress = add.
xfs_repair passed but xfs_check failed (3) with inprogress = sub.

xfs/358:
xfs_repair passed but xfs_check failed (3) with numrecs = middlebit.
xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = ones.

xfs/360:
xfs_repair passed but xfs_check failed (2) with numrecs = middlebit.
xfs_repair passed but xfs_check failed (2) with numrecs = lastbit.

xfs/362:
xfs_repair passed but xfs_check failed (3) with recs[1].startblock = middlebit.

xfs/372:
xfs_repair passed but xfs_check failed (2) with numrecs = middlebit.
xfs_repair passed but xfs_check failed (2) with numrecs = lastbit.

xfs/374:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/376:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.
xfs_repair passed but xfs_check failed (3) with core.forkoff = lastbit.

xfs/378:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/384:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/392:
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[1].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[1].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = add.
xfs_repair passed but xfs_check failed (3) with lents[1].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[3].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[3].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = add.
xfs_repair passed but xfs_check failed (3) with lents[3].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[5].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[5].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = add.
xfs_repair passed but xfs_check failed (3) with lents[5].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[7].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[7].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = add.
xfs_repair passed but xfs_check failed (3) with lents[7].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[9].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[9].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = add.
xfs_repair passed but xfs_check failed (3) with lents[9].address = sub.

xfs/398:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/410:
xfs_repair passed but xfs_check failed (3) with recs[1].startblock = zeroes.
xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = ones.
xfs_repair passed but xfs_check failed (3) with recs[1].blockcount = middlebit.
xfs_repair passed but xfs_check failed (3) with recs[1].blockcount = add.
xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = sub.

xfs/412:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/414:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/416:
xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
xfs_repair passed but xfs_check failed (3) with core.uid = ones.
xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.uid = add.
xfs_repair passed but xfs_check failed (3) with core.uid = sub.
xfs_repair passed but xfs_check failed (3) with core.gid = ones.
xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
xfs_repair passed but xfs_check failed (3) with core.gid = add.
xfs_repair passed but xfs_check failed (3) with core.gid = sub.

xfs/425:
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.

xfs/427:
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.

xfs/429:
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.

xfs/496:
xfs_repair passed but xfs_check failed (3) with lhdr.stale = middlebit.
xfs_repair passed but xfs_check failed (3) with lhdr.stale = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[0].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[0].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[0].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[0].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[0].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[0].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[0].address = add.
xfs_repair passed but xfs_check failed (3) with lents[0].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[1].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[1].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[1].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[1].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[1].address = add.
xfs_repair passed but xfs_check failed (3) with lents[1].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[2].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[2].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[2].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[2].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[2].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[2].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[2].address = add.
xfs_repair passed but xfs_check failed (3) with lents[2].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[3].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[3].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[3].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[3].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[3].address = add.
xfs_repair passed but xfs_check failed (3) with lents[3].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[4].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[4].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[4].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[4].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[4].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[4].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[4].address = add.
xfs_repair passed but xfs_check failed (3) with lents[4].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[5].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[5].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[5].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[5].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[5].address = add.
xfs_repair passed but xfs_check failed (3) with lents[5].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[6].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[6].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[6].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[6].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[6].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[6].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[6].address = add.
xfs_repair passed but xfs_check failed (3) with lents[6].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[7].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[7].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[7].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[7].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[7].address = add.
xfs_repair passed but xfs_check failed (3) with lents[7].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[8].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[8].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[8].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[8].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[8].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[8].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[8].address = add.
xfs_repair passed but xfs_check failed (3) with lents[8].address = sub.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = ones.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = add.
xfs_repair passed but xfs_check failed (3) with lents[9].hashval = sub.
xfs_repair passed but xfs_check failed (3) with lents[9].address = zeroes.
xfs_repair passed but xfs_check failed (3) with lents[9].address = ones.
xfs_repair passed but xfs_check failed (3) with lents[9].address = firstbit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = middlebit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = lastbit.
xfs_repair passed but xfs_check failed (3) with lents[9].address = add.
xfs_repair passed but xfs_check failed (3) with lents[9].address = sub.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: xfs_check vs. xfs_repair vs. the world^W^Wfstests
  2020-04-08  3:00 xfs_check vs. xfs_repair vs. the world^W^Wfstests Darrick J. Wong
@ 2020-04-08  4:53 ` Chandan Rajendra
  2020-04-09  7:40   ` Christoph Hellwig
  0 siblings, 1 reply; 4+ messages in thread
From: Chandan Rajendra @ 2020-04-08  4:53 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: linux-xfs, Eryu Guan, Chandan Rajendra, fstests, hch

On Wednesday, April 8, 2020 8:30 AM Darrick J. Wong wrote: 
> Hi all,
> 
> Ok, so here we are yet again with "Let's deprecate xfs_check out of
> fstests for $raisins!", and once again there's the question of what evil
> things does repair miss that check didn't?
> 
> I hacked up the xfs_repair fuzz tests in fstests to see which ones would
> produce cases where xfs_repair -n says the fs is fine but xfs_check
> complains and returns nonzero, with the results recorded below.  I did a
> little triage...

Darrick, Thanks for doing this.

> 
> 1. The uid/gid/projid fuzzers and the diskdq fuzzers all seem to fail on
> account of the fact that repair does not actually check the quota
> counters.
> 
> 2. While the numrecs fuzz and the directory leaf failures actually spray
> btree verifier errors, somehow those are not turned into exit(1).
> 
> 3. Not sure what the blockcount ones are about, I think that might
> simply be inadequate record checking on repair's part.
> 
> Those last two are /probably/ simple fixes to xfs_repair.
> 
> Not sure what to do about quota in repair -- we could build in the
> ability to do quota counts since we scan the whole inode table and
> directory tree anyway.  From there it's not so hard to rebuild the quota
> inodes too.
>

I will take up this work and get it completed.

Since I have other higher priority tasks at work place, I will have this as my
secondary focus. Meanwhile, until it gets done, can we disable running these
tests on block size > 4k i.e. https://patchwork.kernel.org/patch/11454399/.

> Thoughts?
> 
> --D
> 
> xfs/350:
> xfs_repair passed but xfs_check failed (3) with inprogress = ones.
> xfs_repair passed but xfs_check failed (3) with inprogress = firstbit.
> xfs_repair passed but xfs_check failed (3) with inprogress = middlebit.
> xfs_repair passed but xfs_check failed (3) with inprogress = add.
> xfs_repair passed but xfs_check failed (3) with inprogress = sub.
> 
> xfs/358:
> xfs_repair passed but xfs_check failed (3) with numrecs = middlebit.
> xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = ones.
> 
> xfs/360:
> xfs_repair passed but xfs_check failed (2) with numrecs = middlebit.
> xfs_repair passed but xfs_check failed (2) with numrecs = lastbit.
> 
> xfs/362:
> xfs_repair passed but xfs_check failed (3) with recs[1].startblock = middlebit.
> 
> xfs/372:
> xfs_repair passed but xfs_check failed (2) with numrecs = middlebit.
> xfs_repair passed but xfs_check failed (2) with numrecs = lastbit.
> 
> xfs/374:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/376:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> xfs_repair passed but xfs_check failed (3) with core.forkoff = lastbit.
> 
> xfs/378:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/384:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/392:
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = sub.
> 
> xfs/398:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/410:
> xfs_repair passed but xfs_check failed (3) with recs[1].startblock = zeroes.
> xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = ones.
> xfs_repair passed but xfs_check failed (3) with recs[1].blockcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with recs[1].blockcount = add.
> xfs_repair passed but xfs_check failed (139) with recs[1].blockcount = sub.
> 
> xfs/412:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/414:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/416:
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_lo = sub.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = ones.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = add.
> xfs_repair passed but xfs_check failed (3) with core.projid_hi = sub.
> xfs_repair passed but xfs_check failed (3) with core.uid = ones.
> xfs_repair passed but xfs_check failed (3) with core.uid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.uid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.uid = add.
> xfs_repair passed but xfs_check failed (3) with core.uid = sub.
> xfs_repair passed but xfs_check failed (3) with core.gid = ones.
> xfs_repair passed but xfs_check failed (3) with core.gid = firstbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = middlebit.
> xfs_repair passed but xfs_check failed (3) with core.gid = lastbit.
> xfs_repair passed but xfs_check failed (3) with core.gid = add.
> xfs_repair passed but xfs_check failed (3) with core.gid = sub.
> 
> xfs/425:
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.
> 
> xfs/427:
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.
> 
> xfs/429:
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.bcount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = zeroes.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.icount = sub.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = ones.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = firstbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = middlebit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = lastbit.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = add.
> xfs_repair passed but xfs_check failed (3) with diskdq.rtbcount = sub.
> 
> xfs/496:
> xfs_repair passed but xfs_check failed (3) with lhdr.stale = middlebit.
> xfs_repair passed but xfs_check failed (3) with lhdr.stale = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[0].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[0].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[1].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[1].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[2].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[2].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[3].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[3].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[4].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[4].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[5].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[5].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[6].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[6].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[7].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[7].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[8].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[8].address = sub.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = ones.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = add.
> xfs_repair passed but xfs_check failed (3) with lents[9].hashval = sub.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = zeroes.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = ones.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = firstbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = middlebit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = lastbit.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = add.
> xfs_repair passed but xfs_check failed (3) with lents[9].address = sub.
> 


-- 
chandan




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: xfs_check vs. xfs_repair vs. the world^W^Wfstests
  2020-04-08  4:53 ` Chandan Rajendra
@ 2020-04-09  7:40   ` Christoph Hellwig
  2020-04-09 14:52     ` Darrick J. Wong
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2020-04-09  7:40 UTC (permalink / raw)
  To: Chandan Rajendra
  Cc: Darrick J. Wong, linux-xfs, Eryu Guan, Chandan Rajendra, fstests,
	hch

On Wed, Apr 08, 2020 at 10:23:21AM +0530, Chandan Rajendra wrote:
> > Not sure what to do about quota in repair -- we could build in the
> > ability to do quota counts since we scan the whole inode table and
> > directory tree anyway.  From there it's not so hard to rebuild the quota
> > inodes too.
> >
> 
> I will take up this work and get it completed.
> 
> Since I have other higher priority tasks at work place, I will have this as my
> secondary focus. Meanwhile, until it gets done, can we disable running these
> tests on block size > 4k i.e. https://patchwork.kernel.org/patch/11454399/.

I still think even with the above outstanding issues we should not
run check by default.  We can still opt into it, but check extends
the run time of xfstests for not very good reasons.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: xfs_check vs. xfs_repair vs. the world^W^Wfstests
  2020-04-09  7:40   ` Christoph Hellwig
@ 2020-04-09 14:52     ` Darrick J. Wong
  0 siblings, 0 replies; 4+ messages in thread
From: Darrick J. Wong @ 2020-04-09 14:52 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Chandan Rajendra, linux-xfs, Eryu Guan, Chandan Rajendra, fstests

On Thu, Apr 09, 2020 at 12:40:28AM -0700, Christoph Hellwig wrote:
> On Wed, Apr 08, 2020 at 10:23:21AM +0530, Chandan Rajendra wrote:
> > > Not sure what to do about quota in repair -- we could build in the
> > > ability to do quota counts since we scan the whole inode table and
> > > directory tree anyway.  From there it's not so hard to rebuild the quota
> > > inodes too.
> > >
> > 
> > I will take up this work and get it completed.
> > 
> > Since I have other higher priority tasks at work place, I will have this as my
> > secondary focus. Meanwhile, until it gets done, can we disable running these
> > tests on block size > 4k i.e. https://patchwork.kernel.org/patch/11454399/.
> 
> I still think even with the above outstanding issues we should not
> run check by default.  We can still opt into it, but check extends
> the run time of xfstests for not very good reasons.

So do I, and when I proposed it back in 2018[1], Dave indicated that we
ought to get to the point where we don't need to xfs_check as a
cross-check for xfs_repair.  I'm working on fixing up the smaller things
that repair doesn't catch, so once that series lands maybe we can just
drop xfs_check?

(Since the only big discrepancy at that point will be the lack of quota
checking...)

--D

[1] https://lore.kernel.org/fstests/20180214212228.GG7000@dastard/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-09 14:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-08  3:00 xfs_check vs. xfs_repair vs. the world^W^Wfstests Darrick J. Wong
2020-04-08  4:53 ` Chandan Rajendra
2020-04-09  7:40   ` Christoph Hellwig
2020-04-09 14:52     ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox