Re: mkfs.xfs "concurrency" change concerns
Shin'ichiro Kawasaki <[email protected]> Wed, 17 Jun 2026 15:57:41 +0900
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <ajJE7uG-FPWnOAH6@shinmob> |
On Jun 16, 2026 / 23:23, Christoph Hellwig wrote:
> On Wed, Jun 17, 2026 at 10:43:10AM +0900, Shin'ichiro Kawasaki wrote:
> > Just FYI, here's my command line logs. nullb0 and nullb1 are 8GiB memory backed
> > null_blk devices. I also tried each of "-d concurrency=0", "-l concurrency=0"
> > and "-r concurrency=0" seperately, and observed the same failures. I used the
> > kernel at xfs/for-next on Jun/12 and fstests tag v2026.05.17. The fstests
> > alraday has the commit by Lukas ffc8bad17e5b ("xfs/21{6,7} Use default -l
> > concurrency=0 on mkfs.xfs that supports it").
>
> Both xfs/078 and xfs/216 don't actually use MKFS_OPTIONS :(
>
> Can you try the quick hack patch below:
>
> diff --git a/tests/xfs/078 b/tests/xfs/078
> index 6057aeea1..c477f6cfb 100755
> --- a/tests/xfs/078
> +++ b/tests/xfs/078
> @@ -57,7 +57,7 @@ _grow_loop()
> $XFS_IO_PROG -f -c "truncate $original" $LOOP_IMG
> loop_dev=`_create_loop_device $LOOP_IMG $bsize`
>
> - dparam=""
> + dparam="-d concurrency=0 -l concurrency=0 -r concurrency=0"
> if [ -n "$agsize" ]; then
> dparam="-d agsize=$agsize"
> fi
> diff --git a/tests/xfs/216 b/tests/xfs/216
> index 1749647c1..ded3d30af 100755
> --- a/tests/xfs/216
> +++ b/tests/xfs/216
> @@ -22,11 +22,7 @@ _cleanup()
>
> _require_scratch
> _scratch_mkfs_xfs >/dev/null 2>&1
> -if _scratch_mkfs_xfs_supports_concurrency -l >> $seqres.full 2>&1; then
> - loop_mkfs_opts="-l concurrency=0"
> -else
> - loop_mkfs_opts=""
> -fi
> +loop_mkfs_opts="-d concurrency=0 -l concurrency=0 -r concurrency=0"
> _scratch_mount
>
> _require_loop
Thanks. With the patch above, the failures disappeared!
$ cat ./local.config
export TEST_DIR=/var/kts/test
export TEST_DEV="/dev/nullb0"
export KEEP_DMESG=yes
export FSTYP=xfs
export MKFS_OPTIONS=""
export SCRATCH_MNT=/var/kts/scratch
export SCRATCH_DEV="/dev/nullb1"
export FSX_AVOID=-a
$ sudo mkfs.xfs -f /dev/nullb0
meta-data=/dev/nullb0 isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=1
= reflink=1 bigtime=1 inobtcount=1 nrext64=1
= exchange=1 metadir=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1, parent=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
= rgcount=0 rgsize=0 extents
= zoned=0 start=0 reserved=0
$ sudo ./check xfs/078 xfs/216
FSTYP -- xfs (non-debug)
PLATFORM -- Linux/x86_64 redsun71q 7.1.0-rc4-kts-xfs-g804826eac53+ #1 SMP PREEMPT_DYNAMIC Mon Jun 15 09:31:13 JST 2026
MKFS_OPTIONS -- -f /dev/nullb1
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/nullb1 /var/kts/scratch
xfs/078 13s ... 13s
xfs/216 8s ... 7s
Ran: xfs/078 xfs/216
Passed all 2 tests