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