Re: [PATCH 4/4] xfs/216 xfs/217 Use default -l conccurency=0 on mkfs.xfs that supports it
"Darrick J. Wong" <[email protected]>
| Newsgroups | org.kernel.vger.fstests |
|---|---|
| Message-ID | <20260430163635.GS7739@frogsfrogsfrogs> |
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? > + 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. --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 > >