Re: [PATCH] xfs: new EOF fragmentation tests

Zorro Lang
2024-10-14T17:46:58Z

On Mon, Oct 14, 2024 at 08:24:28AM -0700, Darrick J. Wong wrote:
> On Mon, Oct 14, 2024 at 08:07:25AM +0200, Christoph Hellwig wrote:
> > On Mon, Oct 14, 2024 at 01:49:36AM +0800, Zorro Lang wrote:
> > > Thanks for reworking this patch, it's been merged into fstests, named
> > > xfs/629~632. But now these 4 cases always fail on upstream xfs, e.g
> > > (diff output) [1][2][3][4]. Could you help to take a look at the
> > > failure which Darick metioned above too :)
> >
> > What do you mean with upstream xfs? Any kernel before the eofblocks
> > fixes will obviously fail. Always_cow will also always fail and I'll
> > send a patch for that. Any other configuration you've seen?
>
> fsdax, any config with an extent size hint set, and any time
> sb_rextsize > 1 fsblock.

Even with dax=never, it's still reproducible. There's not any special config
about the extent size hint. The mkfs.xfs option is:
"-b size=4096 -m crc=1,finobt=1,rmapbt=0,reflink=0,inobtcount=1,bigtime=1"

The mkfs output is:
meta-data=/dev/pmem0 isize=512 agcount=4, agsize=655360 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=0 bigtime=1 inobtcount=1 nrext64=1
= exchange=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1, parent=0
log =internal log bsize=4096 blocks=300954, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

From the output we can see the sector size is 4096.
The mount option is "-o dax=always/inode/never", no more, without external
log device, no rtdev.

Thanks,
Zorro

>
> --D
>