]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs/521: require a real SCRATCH_RTDEV
authorChristoph Hellwig <hch@lst.de>
Thu, 18 Dec 2025 07:30:07 +0000 (08:30 +0100)
committerZorro Lang <zlang@kernel.org>
Wed, 31 Dec 2025 21:02:23 +0000 (05:02 +0800)
Require a real SCRATCH_RTDEV instead of faking one up using a loop
device, as otherwise the options specified in MKFS_OPTIONS might
not actually work the configuration.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
tests/xfs/521
tests/xfs/521.out

index 0da05a55a276fb6cf7dacb3bf0be072c11164536..5cd6649c50c7e9e4b1e8afff82bc700a5fa079f6 100755 (executable)
 . ./common/preamble
 _begin_fstest auto quick realtime growfs
 
-# Override the default cleanup function.
-_cleanup()
-{
-       cd /
-       _scratch_unmount >> $seqres.full 2>&1
-       [ -n "$rt_loop_dev" ] && _destroy_loop_device $rt_loop_dev
-       rm -f $tmp.* $TEST_DIR/$seq.rtvol
-}
-
-# Import common functions.
 . ./common/filter
 
-# Note that we don't _require_realtime because we synthesize a rt volume
-# below.
-_require_scratch_nocheck
-_require_no_large_scratch_dev
-
-echo "Create fake rt volume"
-truncate -s 400m $TEST_DIR/$seq.rtvol
-rt_loop_dev=$(_create_loop_device $TEST_DIR/$seq.rtvol)
+_require_realtime
+_require_scratch
 
 echo "Format and mount 100m rt volume"
-export USE_EXTERNAL=yes
-export SCRATCH_RTDEV=$rtdev
 _scratch_mkfs -r size=100m > $seqres.full
-_try_scratch_mount || _notrun "Could not mount scratch with synthetic rt volume"
+_scratch_mount
 
-# zoned file systems only support zoned size-rounded RT device sizes
+# zoned file systems only support zone-size aligned RT device sizes
 _require_xfs_scratch_non_zoned
 
 testdir=$SCRATCH_MNT/test-$seq
@@ -58,7 +40,10 @@ echo "Create some files"
 _pwrite_byte 0x61 0 1m $testdir/original >> $seqres.full
 
 echo "Grow fs"
-$XFS_GROWFS_PROG $SCRATCH_MNT 2>&1 |  _filter_growfs >> $seqres.full
+# growfs expects sizes in FSB units
+fsbsize=$(_get_block_size $SCRATCH_MNT)
+$XFS_GROWFS_PROG -R $((400 * 1024 * 1024 / fsbsize)) $SCRATCH_MNT 2>&1 | \
+         _filter_growfs >> $seqres.full
 _scratch_cycle_mount
 
 echo "Recheck 400m rt volume stats"
@@ -73,8 +58,6 @@ echo "Check filesystem"
 _check_scratch_fs
 
 _scratch_unmount
-_destroy_loop_device $rt_loop_dev
-unset rt_loop_dev
 
 # success, all done
 status=0
index 007ab92c6db2e0c669c0720045f951f88f659532..afd18bb0dc99558ad401f7b55f8b3e33fd0d6f78 100644 (file)
@@ -1,5 +1,4 @@
 QA output created by 521
-Create fake rt volume
 Format and mount 100m rt volume
 Check rt volume stats
 Create some files