Re: attr fork related fstests failures on for-next
From: Dave Chinner <david@fromorbit.com>
Date: 2021-03-29 20:49:43
On Mon, Mar 29, 2021 at 11:31:20AM -0700, Darrick J. Wong wrote:
On Mon, Mar 29, 2021 at 02:16:04PM -0400, Brian Foster wrote:quoted
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 outputFWIW 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...
Maybe, but mkfs.xfs sets ATTR2 by default and has for a long time. I'm not seeing this fail on either v4 or v5 filesystems on for-next with a current xfsprogs (5.11.0), so what environment is this test failing in? SECTION -- xfs FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 test3 5.12.0-rc5-dgc+ #3074 SMP PREEMPT Tue Mar 30 07:37:47 AEDT 2021 MKFS_OPTIONS -- -f -m rmapbt=1,reflink=1 -i sparse=1 /dev/pmem1 MOUNT_OPTIONS -- /dev/pmem1 /mnt/scratch generic/003 11s ... 11s Passed all 1 tests Xunit report: /home/dave/src/xfstests-dev/results//xfs/result.xml SECTION -- xfs_v4 FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 test3 5.12.0-rc5-dgc+ #3074 SMP PREEMPT Tue Mar 30 07:37:47 AEDT 2021 MKFS_OPTIONS -- -f -m crc=0 /dev/pmem1 MOUNT_OPTIONS -- /dev/pmem1 /mnt/scratch generic/003 11s ... 11s Passed all 1 tests
quoted
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.
Again, doesn't fail with xfsprogs 5.11.0 here for either v4 or v5 filesystems... SECTION -- xfs FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 test3 5.12.0-rc5-dgc+ #3074 SMP PREEMPT Tue Mar 30 07:37:47 AEDT 2021 MKFS_OPTIONS -- -f -m rmapbt=1,reflink=1 -i sparse=1 /dev/pmem1 MOUNT_OPTIONS -- /dev/pmem1 /mnt/scratch generic/117 1s ... 2s Passed all 1 tests Xunit report: /home/dave/src/xfstests-dev/results//xfs/result.xml SECTION -- xfs_v4 FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 test3 5.12.0-rc5-dgc+ #3074 SMP PREEMPT Tue Mar 30 07:37:47 AEDT 2021 MKFS_OPTIONS -- -f -m crc=0 /dev/pmem1 MOUNT_OPTIONS -- /dev/pmem1 /mnt/scratch generic/117 2s ... 2s Passed all 1 tests I'm going to need more information on what environment these failures are being generated in. Cheers, Dave. -- Dave Chinner david@fromorbit.com