FS/XFS testing framework
 help / color / mirror / Atom feed
From: "Nirjhar Roy (IBM)" <nirjhar.roy.lists@gmail.com>
To: Dave Chinner <david@fromorbit.com>, fstests@vger.kernel.org
Cc: zlang@kernel.org
Subject: Re: [PATCH 09/28] check-parallel: allow FSTYP selection from the CLI
Date: Wed, 07 May 2025 14:19:31 +0530	[thread overview]
Message-ID: <ed42bdd1d43dd856978e8dea5b6bbc736e182d8a.camel@gmail.com> (raw)
In-Reply-To: <20250417031208.1852171-10-david@fromorbit.com>

On Thu, 2025-04-17 at 13:00 +1000, Dave Chinner wrote:
> 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.
> 
> Note: 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 5fee62f37..19f2d2b0c 100755
> --- a/check-parallel
> +++ b/check-parallel
> @@ -18,7 +18,7 @@ run_section=""
>  
>  tmp=/tmp/check-parallel.$$
>  
> -export FSTYP=xfs
> +FSTYP=
>  
>  . ./common/exit
>  . ./common/test_names
> @@ -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)		;;
Extremely minor: Maybe list the test in alphabetical order?
The rest looks fine to me. 

Reviewed-by: Nirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com>
> +	*)
> +		echo "unsupported FSTYPE: $fstype"
> +		usage
> +		;;
> +	esac
> +}
> +
>  # Process command arguments first.
>  while [ $# -gt 0 ]; do
>  	case "$1" in
> @@ -92,6 +116,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 ;;
> @@ -109,6 +135,8 @@ while [ $# -gt 0 ]; do
>  	shift
>  done
>  
> +export FSTYP=${FSTYP:=xfs}
> +
>  if [ ! -d "$basedir" ]; then
>  	echo "Invalid basedir specification"
>  	usage
> @@ -225,8 +253,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)
> @@ -240,6 +266,10 @@ runner_go()
>  	mkdir -p $RESULT_BASE
>  	rm -f $RESULT_BASE/check.*
>  
> +	# Only supports default mkfs parameters right now
> +	wipefs -a $TEST_DEV > /dev/null 2>&1
> +	yes | mkfs -t $FSTYP $TEST_MKFS_OPTS $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


  reply	other threads:[~2025-05-07  8:49 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) [this message]
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 ` [PATCH 11/28] check-parallel: initial support for specifying device sizes Dave Chinner
2025-05-07 10:05   ` 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=ed42bdd1d43dd856978e8dea5b6bbc736e182d8a.camel@gmail.com \
    --to=nirjhar.roy.lists@gmail.com \
    --cc=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox