Re: [PATCH 4/4] xfs/216 xfs/217 Use default -l conccurency=0 on mkfs.xfs that supports it

Lukas Herbolt <[email protected]>
Newsgroups org.kernel.vger.fstests
Message-ID <[email protected]>
On 2026-04-30 18:36, Darrick J. Wong wrote:
> On Thu, Apr 30, 2026 at 03:13:22PM +0200, Lukas Herbolt wrote:
>> The XFS conccurency optimalization breaks the log sizing check on
> 
> "concurrency optimization"
> 
>> systems with non-rotational disks and high amount of CPUs. Default to
>> the old behavior with -l conccurency=0 and with -d concurrency=0.
> 
> "-l concurrency=0"
> 
>> Signed-off-by: Lukas Herbolt <[email protected]>
>> ---
>>  tests/xfs/216 |  9 +++++++--
>>  tests/xfs/217 | 17 +++++++++++++++--
>>  2 files changed, 22 insertions(+), 4 deletions(-)
>> 
>> diff --git a/tests/xfs/216 b/tests/xfs/216
>> index 091c11d08642..8b4610d5a0a6 100755
>> --- a/tests/xfs/216
>> +++ b/tests/xfs/216
>> @@ -21,14 +21,19 @@ _cleanup()
>>  }
>> 
>>  _require_scratch
>> -_scratch_mkfs_xfs >/dev/null 2>&1
>> +if _scratch_mkfs_supports_concurrency -l >> $seqres.full 2>&1; then
>> +	_scratch_mkfs_xfs -l concurrency=0 >/dev/null 2>&1
>> +	loop_mkfs_opts="-l concurrency=0"
>> +else
>> +	_scratch_mkfs_xfs >/dev/null 2>&1
>> +	loop_mkfs_opts=
>> +fi
>>  _scratch_mount
>> 
>>  _require_loop
>>  LOOP_IMG=$SCRATCH_MNT/test_fs
>>  LOOP_MNT=$SCRATCH_MNT/test_fs_dir
>> 
>> -loop_mkfs_opts=
>>  $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \
>>  	loop_mkfs_opts="$loop_mkfs_opts -m rmapbt=0"
>>  $MKFS_XFS_PROG 2>&1 | grep -q reflink && \
>> diff --git a/tests/xfs/217 b/tests/xfs/217
>> index dae6ce55f475..7c7b33b1ccf7 100755
>> --- a/tests/xfs/217
>> +++ b/tests/xfs/217
>> @@ -20,7 +20,20 @@ _cleanup()
>>  }
>> 
>>  _require_scratch
>> -_scratch_mkfs_xfs >/dev/null 2>&1
>> +if _scratch_mkfs_supports_concurrency -l >> $seqres.full 2>&1; then
>> +	_scratch_mkfs_xfs -l concurrency=0 >/dev/null 2>&1
> 
> Why does the scratch fs need a -lconcurrency option?
Yeah right it does not need it. Wanted to be sure we do not run into
-ENOSPC but on recommended 10G SCRATCH_DEV we should not.

> 
>> +	loop_mkfs_opts="-l concurrency=0"
>> +		if _scratch_mkfs_supports_concurrency -d >> $seqres.full 2>&1; then
>> +			# We could go just with -l concurency but then on 512CPUs
>> +			# it gives log size off by one block so better to set
>> +			# -d concurrency to 0.
>> +			loop_mkfs_opts="$loop_mkfs_opts -d concurrency=0"
> 
> concurrency= was added for -d and -l in the same release (6.7) so you
> don't have to test them separately.
Just wanted to be sure as those still came in different commits.
> 
> --D
> 
>> +
>> +		fi
>> +else
>> +	_scratch_mkfs_xfs >/dev/null 2>&1
>> +	loop_mkfs_opts=
>> +fi
>>  _scratch_mount
>>  # 16T mkfs requires a bit over 2G free
>>  _require_fs_space $SCRATCH_MNT 2202000
>> @@ -34,7 +47,7 @@ _do_mkfs()
>>  	for i in $*; do
>>  		echo -n "fssize=${i}g "
>>  		$MKFS_XFS_PROG -f -b size=4096 -l version=2 \
>> -			-d size=${i}g $loop_dev |grep log
>> +			-d size=${i}g $loop_dev $loop_mkfs_opts |grep log
>>  		_mount $loop_dev $LOOP_MNT
>>  		echo "test write" > $LOOP_MNT/test
>>  		_unmount $LOOP_MNT > /dev/null 2>&1
>> --
>> 2.53.0
>> 
>> 

-- 
-lhe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.