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