On Wed, Apr 26, 2023 at 05:53:33PM -0700, Darrick J. Wong wrote: > On Thu, Apr 27, 2023 at 10:11:24AM +1000, Dave Chinner wrote: > > On Wed, Apr 26, 2023 at 04:38:31PM -0700, Darrick J. Wong wrote: > > > I also added a su=128k,sw=4 config to the fstests fleet and am now > > > trying to fix all the fstests bugs that produce incorrect test failures. > > > > The other thing I noticed is a couple of the FIEMAP tests fail > > because they find data blocks where they expect holes such as: > > > > generic/225 21s ... - output mismatch (see /home/dave/src/xfstests-dev/results//xfs_align/generic/225.out.bad) > > --- tests/generic/225.out 2022-12-21 15:53:25.479044361 +1100 > > +++ /home/dave/src/xfstests-dev/results//xfs_align/generic/225.out.bad 2023-04-26 04:24:31.426016818 +1000 > > @@ -1,3 +1,79 @@ > > QA output created by 225 > > fiemap run without preallocation, with sync > > +ERROR: FIEMAP claimed there was data at a block which should be a hole, and FIBMAP confirmend that it is in fact a hole, so FIEMAP is wrong: 35 > > +ERROR: found an allocated extent where a hole should be: 35 > > +map is 'DHDDHHDDHDDHHHHDDDDDHHHHHHHDHDDDHHDHDHHHHHDDHDDHHDDHDHHDDDHHHHDDDDHDHHDDHHHDDDDHHDHDDDHHDHDDDHDHHHHHDHDHDHDHHDDHDHHHHDHHDDDDDDDH' > > +logical: [ 27.. 27] phys: 67.. 67 flags: 0x000 tot: 1 > > +logical: [ 29.. 31] phys: 69.. 71 flags: 0x000 tot: 3 > > ... > > (Run 'diff -u /home/dave/src/xfstests-dev/tests/generic/225.out /home/dave/src/xfstests-dev/results//xfs_align/generic/225.out.bad' to see the entire diff) > > > > I haven't looked into this yet, but nothing is reporting data > > corruptions so I suspect it's just the stripe aligned allocation > > leaving unwritten extents in places the test is expecting holes to > > exist... > > That's the FIEMAP tester program not expecting that areas of the file > that it didn't write to can have unwritten extents mapped. I'm testing > patches to fix all that tonight too. If I can ever get these %#@%)#%!!! > orchestration scripts to work correctly. OK. FWIW, I've just found another bug in the stripe aligned allocation at EOF that is triggered by the filestreams code hitting ENOSPC conditions. xfs/170 seems to hit it fairly reliably - it's marking args->pag as NULL and not resetting the caller pag correctly and the high level filestreams failure code is expecting args->pag to be set because it owns the reference... I hope to have a fix for that one on the list this afternoon.... -Dave. -- Dave Chinner david@xxxxxxxxxxxxx