From: Dave Chinner <david@fromorbit.com>
To: fstests@vger.kernel.org
Cc: zlang@kernel.org
Subject: [PATCH 11/28] check-parallel: initial support for specifying device sizes
Date: Thu, 17 Apr 2025 13:00:52 +1000 [thread overview]
Message-ID: <20250417031208.1852171-12-david@fromorbit.com> (raw)
In-Reply-To: <20250417031208.1852171-1-david@fromorbit.com>
From: Dave Chinner <dchinner@redhat.com>
Rather than hard coding loop device sizes, abstract them out into
environment variables with defined default values. This allows
a check-parallel wrapper to specify sizes or, in future, for them
to be read from a config file. Sizes are specified in human readable
values using M/G/T suffixes to indicate the units being specified
Whilst doing this also add support for creating all the external
devices that XFS uses during fstests execution. A typical setup
will be something like:
TEST_DEV_SIZE=10G
TEST_RTDEV_SIZE=10G
TEST_LOGDEV_SIZE=128M
SCRATCH_DEV_SIZE=20G
SCRATCH_RTDEV_SIZE=20G
SCRATCH_LOGDEV_SIZE=512M
LOGWRITES_DEV_SIZE=2G
Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
check-parallel | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/check-parallel b/check-parallel
index aa88c681e..5bb44b6a5 100755
--- a/check-parallel
+++ b/check-parallel
@@ -18,6 +18,14 @@ run_section=""
tmp=/tmp/check-parallel.$$
+TEST_DEV_SIZE=${TEST_DEV_SIZE:=10G}
+TEST_RTDEV_SIZE=${TEST_RTDEV_SIZE:=10G}
+TEST_LOGDEV_SIZE=${TEST_LOGDEV_SIZE:=128M}
+SCRATCH_DEV_SIZE=${SCRATCH_DEV_SIZE:=20G}
+SCRATCH_RTDEV_SIZE=${SCRATCH_RTDEV_SIZE:=20G}
+SCRATCH_LOGDEV_SIZE=${SCRATCH_LOGDEV_SIZE:=512M}
+LOGWRITES_DEV_SIZE=${LOGWRITES_DEV_SIZE:=2G}
+
FSTYP=
. ./common/exit
@@ -116,7 +124,7 @@ while [ $# -gt 0 ]; do
--exact-order) _tl_setup_ordered ;;
-n) show_test_list="yes" ;;
- -f) is_supported_fstype $2 ; FSTYP=$2; shift ;;
+ -f) is_supported_fstype $2 ; export FSTYP=$2; shift ;;
-s) run_section="$run_section -s $2"; shift ;;
@@ -243,22 +251,35 @@ runner_go()
local id=$1
local me=$basedir/runner-$id
local _test=$me/test.img
+ local _test_rt=$me/test-rt.img
+ local _test_log=$me/test-log.img
local _scratch=$me/scratch.img
+ local _scratch_rt=$me/scratch-rt.img
+ local _scratch_log=$me/scratch-log.img
local _logwrites=$me/logwrites.img
local _results=$me/results-$2
mkdir -p $me
- xfs_io -f -c 'truncate 2g' $_test
- xfs_io -f -c 'truncate 8g' $_scratch
- xfs_io -f -c 'truncate 1g' $_logwrites
+ xfs_io -f -c "truncate $TEST_DEV_SIZE" $_test
+ xfs_io -f -c "truncate $TEST_RTDEV_SIZE" $_test_rt
+ xfs_io -f -c "truncate $TEST_LOGDEV_SIZE" $_test_log
+ xfs_io -f -c "truncate $SCRATCH_DEV_SIZE" $_scratch
+ xfs_io -f -c "truncate $SCRATCH_RTDEV_SIZE" $_scratch_rt
+ xfs_io -f -c "truncate $SCRATCH_LOGDEV_SIZE" $_scratch_log
+ xfs_io -f -c "truncate $LOGWRITES_DEV_SIZE" $_logwrites
export TEST_DEV=$(_create_loop_device $_test)
+ export TEST_RTDEV=$(_create_loop_device $_test_rt)
+ export TEST_LOGDEV=$(_create_loop_device $_test_log)
export TEST_DIR=$me/test
+
export SCRATCH_DEV=$(_create_loop_device $_scratch)
+ export SCRATCH_RTDEV=$(_create_loop_device $_scratch_rt)
+ export SCRATCH_LOGDEV=$(_create_loop_device $_scratch_log)
export SCRATCH_MNT=$me/scratch
+
export LOGWRITES_DEV=$(_create_loop_device $_logwrites)
- export FSTYP=xfs
export RESULT_BASE=$_results
mkdir -p $TEST_DIR
@@ -285,7 +306,11 @@ runner_go()
umount -R $TEST_DIR 2> /dev/null
umount -R $SCRATCH_MNT 2> /dev/null
_destroy_loop_device $TEST_DEV
+ _destroy_loop_device $TEST_RTDEV
+ _destroy_loop_device $TEST_LOGDEV
_destroy_loop_device $SCRATCH_DEV
+ _destroy_loop_device $SCRATCH_RTDEV
+ _destroy_loop_device $SCRATCH_LOGDEV
_destroy_loop_device $LOGWRITES_DEV
grep -q Failures: $me/log
--
2.45.2
next prev parent reply other threads:[~2025-04-17 3:12 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 3:00 [PATCH 00/28] check-parallel: Running tests without check Dave Chinner
2025-04-17 3:00 ` [PATCH 01/28] fstests: remove support for non-numeric test names Dave Chinner
2025-04-30 9:17 ` Nirjhar Roy (IBM)
2025-05-21 2:39 ` Dave Chinner
2025-05-26 5:14 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 02/28] _scratch_mkfs_sized: obey USE_EXTERNAL for XFS filesystems Dave Chinner
2025-05-05 6:14 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 03/28] fstests: move test exit functions to common/exit Dave Chinner
2025-04-17 3:00 ` [PATCH 04/28] check-parallel: report how many tests were _notrun Dave Chinner
2025-05-05 9:58 ` Nirjhar Roy (IBM)
2025-05-21 2:53 ` Dave Chinner
2025-05-26 6:09 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 05/28] check: factor out test list building code Dave Chinner
2025-05-06 11:32 ` Nirjhar Roy (IBM)
2025-05-21 3:55 ` Dave Chinner
2025-05-26 6:48 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 06/28] check-parallel: use common group list parsing code Dave Chinner
2025-05-06 15:56 ` Nirjhar Roy (IBM)
2025-05-21 4:13 ` Dave Chinner
2025-05-26 6:58 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 07/28] check-parallel: adjust concurrency according to CPU count Dave Chinner
2025-05-07 6:45 ` Nirjhar Roy (IBM)
2025-05-21 4:32 ` Dave Chinner
2025-05-26 8:50 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 08/28] check-parallel: add logwrite device support Dave Chinner
2025-05-07 8:18 ` Nirjhar Roy (IBM)
2025-05-21 10:07 ` Dave Chinner
2025-05-26 8:59 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 09/28] check-parallel: allow FSTYP selection from the CLI Dave Chinner
2025-05-07 8:49 ` Nirjhar Roy (IBM)
2025-05-21 10:17 ` Dave Chinner
2025-05-26 9:00 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 10/28] check-parallel: use PID namespaces for runner process isolation Dave Chinner
2025-05-07 9:02 ` Nirjhar Roy (IBM)
2025-05-21 10:19 ` Dave Chinner
2025-05-26 9:04 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` Dave Chinner [this message]
2025-05-07 10:05 ` [PATCH 11/28] check-parallel: initial support for specifying device sizes Nirjhar Roy (IBM)
2025-05-21 11:11 ` Dave Chinner
2025-04-17 3:00 ` [PATCH 12/28] config: move config section code to it's own file Dave Chinner
2025-05-09 6:09 ` Nirjhar Roy
2025-05-21 11:28 ` Dave Chinner
2025-04-17 3:00 ` [PATCH 13/28] check-parallel: introduce config file support Dave Chinner
2025-05-09 12:01 ` Nirjhar Roy
2025-05-21 12:23 ` Dave Chinner
2025-04-17 3:00 ` [PATCH 14/28] fstests: further separate sourcing common/rc and common/config from initialisation Dave Chinner
2025-05-10 14:08 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 15/28] check-parallel: de-batch test execution Dave Chinner
2025-05-09 13:16 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 16/28] check-parallel: run sections directly Dave Chinner
2025-05-09 14:03 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 17/28] check-parallel: rebuild test list when FSTYP changes Dave Chinner
2025-05-09 16:00 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 18/28] check-parallel: create a "results-latest" symlink Dave Chinner
2025-05-10 13:12 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 19/28] check: factor test running Dave Chinner
2025-05-12 13:57 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 20/28] [RFC] check-parallel: run tests directly without using check Dave Chinner
2025-05-13 14:48 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 21/28] generic/531: limit max files per CPU Dave Chinner
2025-05-10 13:15 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 22/28] fsync-tester.c: use syncfs() rather than sync() Dave Chinner
2025-04-30 9:08 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 23/28] open-by-handle.c: " Dave Chinner
2025-04-30 9:02 ` Nirjhar Roy (IBM)
2025-05-21 2:32 ` Dave Chinner
2025-05-26 5:11 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 24/28] " Dave Chinner
2025-04-30 8:56 ` Nirjhar Roy (IBM)
2025-05-21 2:30 ` Dave Chinner
2025-05-26 4:56 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 25/28] bulkstat_unlink_test_modified.c: remove unused test code Dave Chinner
2025-04-30 8:47 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 26/28] stale-handle.c: use syncfs() rather than sync() Dave Chinner
2025-04-30 8:34 ` Nirjhar Roy (IBM)
2025-05-21 2:24 ` Dave Chinner
2025-04-17 3:01 ` [PATCH 27/28] scaleread: remove dead test code Dave Chinner
2025-04-30 8:10 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 28/28] xfs/259: no need to call sync Dave Chinner
2025-04-30 7:56 ` Nirjhar Roy (IBM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250417031208.1852171-12-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=fstests@vger.kernel.org \
--cc=zlang@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.