From: Dave Chinner <david@fromorbit.com>
To: fstests@vger.kernel.org
Subject: [PATCH 5/5] check-parallel: allow FSTYP selection from the CLI
Date: Wed, 15 Jan 2025 16:51:16 +1100 [thread overview]
Message-ID: <20250115060258.3951185-6-david@fromorbit.com> (raw)
In-Reply-To: <20250115060258.3951185-1-david@fromorbit.com>
From: Dave Chinner <dchinner@redhat.com>
Add a CLI option to specify the initial FSTYP to test. If this is
not specified the the default of "xfs" will be used. This option is
different to the way check has FSTYP specified as check-parallel
has no infrastructure to support non block device based filesystems
and hence we have to reject virtual or network based filesysetms
are this point in time.
This patch only implements default mkfs parameter support for the
test device. Config sections can be used to override this as check
will then format the test device when the section that defines
non-default test device mkfs options is selected.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
check-parallel | 44 +++++++++++++++++++++++++++++++++++++-------
1 file changed, 37 insertions(+), 7 deletions(-)
diff --git a/check-parallel b/check-parallel
index 498b53c5a..38fa4f7f9 100755
--- a/check-parallel
+++ b/check-parallel
@@ -18,7 +18,7 @@ run_section=""
tmp=/tmp/check-parallel.$$
-export FSTYP=xfs
+FSTYP=
# We need to include the test list processing first as argument parsing
# requires test list parsing and setup.
@@ -35,6 +35,7 @@ check options
-r randomize test order
--exact-order run tests in the exact order specified
-s section run only specified section from config file
+ -f <FSTYPE> specify the filesystem type to test
testlist options
-g group[,group...] include tests from these groups
@@ -66,16 +67,39 @@ external_file argument is a path to a single file containing a list of tests
to exclude in the form of <test dir>/<test name>.
examples:
- check-parallel -D /mnt xfs/001
- check-parallel -D /mnt -g quick
+ check-parallel -f xfs -D /mnt xfs/001
+ check-parallel -f ext4 -D /mnt -g quick
check-parallel -D /mnt -g xfs/quick
check-parallel -D /mnt -x stress xfs/*
- check-parallel -D /mnt -X .exclude -g auto
- check-parallel -D /mnt -E ~/.xfstests.exclude
+ check-parallel -f btrfs -D /mnt -X .exclude -g auto
+ check-parallel -f udf -D /mnt -E ~/.xfstests.exclude
'
exit 1
}
+# Only support block device based filesystems with generic mkfs support
+# at the moment.
+is_supported_fstype()
+{
+ local fstype=$1
+
+ case $fstype in
+ xfs) ;;
+ ext2|ext3|ext4) ;;
+ udf) ;;
+ jfs) ;;
+ f2fs) ;;
+ btrfs) ;;
+ bcachefs) ;;
+ gfs2) ;;
+ ocfs2) ;;
+ *)
+ echo "unsupported FSTYPE: $fstype"
+ usage
+ ;;
+ esac
+}
+
# Process command arguments first.
while [ $# -gt 0 ]; do
case "$1" in
@@ -91,6 +115,8 @@ while [ $# -gt 0 ]; do
--exact-order) _tl_setup_ordered ;;
-n) show_test_list="yes" ;;
+ -f) is_supported_fstype $2 ; FSTYP=$2; shift ;;
+
-s) run_section="$run_section -s $2"; shift ;;
-*) usage ;;
@@ -108,6 +134,8 @@ while [ $# -gt 0 ]; do
shift
done
+export FSTYP=${FSTYP:=xfs}
+
if [ ! -d "$basedir" ]; then
echo "Invalid basedir specification"
usage
@@ -217,8 +245,6 @@ runner_go()
xfs_io -f -c 'truncate 8g' $_scratch
xfs_io -f -c 'truncate 1g' $_logwrites
- mkfs.xfs -f $_test > /dev/null 2>&1
-
export TEST_DEV=$(_create_loop_device $_test)
export TEST_DIR=$me/test
export SCRATCH_DEV=$(_create_loop_device $_scratch)
@@ -232,6 +258,10 @@ runner_go()
mkdir -p $RESULT_BASE
rm -f $RESULT_BASE/check.*
+ # Only supports default mkfs parameters right now
+ wipefs $TEST_DEV > /dev/null 2>&1
+ yes | mkfs -t $FSTYP $TEST_DEV > /dev/null 2>&1
+
# export DUMP_CORRUPT_FS=1
# Run the tests in it's own mount namespace, as per the comment below
--
2.45.2
next prev parent reply other threads:[~2025-01-15 6:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 5:51 [PATCH 0/5]: CLI and feature improvements for check-parallel Dave Chinner
2025-01-15 5:51 ` [PATCH 1/5] check-parallel: adjust concurrency according to CPU count Dave Chinner
2025-01-15 5:51 ` [PATCH 2/5] check: factor out test list building code Dave Chinner
2025-01-15 5:51 ` [PATCH 3/5] check-parallel: use common group list parsing code Dave Chinner
2025-01-15 5:51 ` [PATCH 4/5] check-parallel: add logwrite device support Dave Chinner
2025-01-15 5:51 ` Dave Chinner [this message]
2025-01-15 6:29 ` [PATCH 0/5]: CLI and feature improvements for check-parallel Darrick J. Wong
2025-01-15 6:47 ` Darrick J. Wong
2025-01-15 9:54 ` Dave Chinner
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=20250115060258.3951185-6-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=fstests@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox