On Mon, Mar 29, 2021 at 02:16:04PM -0400, Brian Foster wrote: > Hi, > > I'm seeing a couple different fstests failures on current for-next that > appear to be associated with e6a688c33238 ("xfs: initialise attr fork on > inode create"). The first is xfs_check complaining about sb versionnum > bits on various tests: > > generic/003 16s ... _check_xfs_filesystem: filesystem on /dev/mapper/test-scratch is inconsistent (c) > (see /root/xfstests-dev/results//generic/003.full for details) > # cat results/generic/003.full > ... > _check_xfs_filesystem: filesystem on /dev/mapper/test-scratch is inconsistent (c) > *** xfs_check output *** > sb versionnum missing attr bit 10 > *** end xfs_check output FWIW I think this because that commit sets up an attr fork without setting ATTR and ATTR2 in sb_version like xfs_bmap_add_attrfork does... > ... > # > > With xfs_check bypassed, repair eventually complains about some attr > forks. The first point I hit this variant is generic/117: > > generic/117 9s ... _check_xfs_filesystem: filesystem on /dev/mapper/test-scratch is inconsistent (r) > (see /root/xfstests-dev/results//generic/117.full for details) > # cat results//generic/117.full > ... > _check_xfs_filesystem: filesystem on /dev/mapper/test-scratch is inconsistent (r) > *** xfs_repair -n output *** > ... > Phase 3 - for each AG... > - scan (but don't clear) agi unlinked lists... > - process known inodes and perform inode discovery... > - agno = 0 > bad attr fork offset 24 in dev inode 135, should be 1 > would have cleared inode 135 > bad attr fork offset 24 in dev inode 142, should be 1 > would have cleared inode 142 ...and I think this is because xfs_default_attroffset doesn't set the correct value for device files. For those kinds of files, xfs_repair requires the data fork to be exactly 8 bytes. --D > ... > > Both problems disappear with e6a688c33238 reverted. > > Brian >