From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>, Eric Sandeen <sandeen@redhat.com>
Cc: Zorro Lang <zlang@kernel.org>,
linux-xfs@vger.kernel.org, fstests@vger.kernel.org
Subject: Re: [PATCH 6/6] xfs: don't run tests that require v4 file systems when not supported
Date: Tue, 9 Apr 2024 08:56:12 -0700 [thread overview]
Message-ID: <20240409155612.GF634366@frogsfrogsfrogs> (raw)
In-Reply-To: <20240408133243.694134-7-hch@lst.de>
On Mon, Apr 08, 2024 at 03:32:43PM +0200, Christoph Hellwig wrote:
> Add a _require_xfs_nocrc helper that checks that we can mkfs and mount
> a crc=0 file systems before running tests that rely on it to avoid failures
> on kernels with CONFIG_XFS_SUPPORT_V4 disabled.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> common/xfs | 10 ++++++++++
> tests/xfs/002 | 1 +
Looks fine to me.
> tests/xfs/045 | 1 +
xfs_db can change uuids on v5 filesystems now, so we don't nee the
-mcrc=0 in this test.
> tests/xfs/095 | 1 +
> tests/xfs/132 | 1 +
Looks fine to me.
> tests/xfs/148 | 2 ++
I wonder if we could rewrite this test to use either the xfs_db write -d
command on dirents or attrs directly; or the link/attrset commands,
since AFAICT the dir/attr code doesn't itself run namecheck when
creating entries/attrs.
> tests/xfs/158 | 1 +
> tests/xfs/160 | 1 +
inobtcount and bigtime are new features, maybe these two tests should
lose the clause that checks that we can't upgrade a V4 filesystem?
> tests/xfs/194 | 2 ++
Not sure why this one is fixated on $pagesize/8. Was that a requirement
to induce an error? Or would this work just as well on a 1k fsblock fs?
(Eric?)
> tests/xfs/199 | 1 +
> tests/xfs/300 | 1 +
Looks fine to me.
> tests/xfs/513 | 1 +
I think we should split this into separate tests for V4/V5 options and
only _require_xfs_nocrc the one with V4 options, because I wouldn't want
to stop testing V5 codepaths simply because someone turned off V4
support in the kernle.
> tests/xfs/526 | 1 +
I'm at a loss on this one -- what it does is useful, but there aren't
any V5 mkfs options that conflict as nicely as crc=0 does.
> 13 files changed, 24 insertions(+)
>
> diff --git a/common/xfs b/common/xfs
> index 49ca5a2d5..733c3a5be 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -1852,3 +1852,13 @@ _xfs_discard_max_offset_kb()
> $XFS_IO_PROG -c 'statfs' "$1" | \
> awk '{g[$1] = $3} END {print (g["geom.bsize"] * g["geom.datablocks"] / 1024)}'
> }
> +
> +# check if mkfs and the kernel support nocrc (v4) file systems
> +_require_xfs_nocrc()
> +{
> + _scratch_mkfs_xfs -m crc=0 > /dev/null 2>&1 || \
> + _notrun "v4 file systems not supported"
> + _try_scratch_mount > /dev/null 2>&1 || \
> + _notrun "v4 file systems not supported"
> + _scratch_unmount
> +}
> diff --git a/tests/xfs/002 b/tests/xfs/002
> index 8dfd2693b..26d0cd6e4 100755
> --- a/tests/xfs/002
> +++ b/tests/xfs/002
> @@ -23,6 +23,7 @@ _begin_fstest auto quick growfs
> _supported_fs xfs
> _require_scratch_nocheck
> _require_no_large_scratch_dev
> +_require_xfs_nocrc
>
> _scratch_mkfs_xfs -m crc=0 -d size=128m >> $seqres.full 2>&1 || _fail "mkfs failed"
>
> diff --git a/tests/xfs/045 b/tests/xfs/045
> index d8cc9ac29..69531ba71 100755
> --- a/tests/xfs/045
> +++ b/tests/xfs/045
> @@ -22,6 +22,7 @@ _supported_fs xfs
>
> _require_test
> _require_scratch_nocheck
> +_require_xfs_nocrc
>
> echo "*** get uuid"
> uuid=`_get_existing_uuid`
> diff --git a/tests/xfs/095 b/tests/xfs/095
> index a3891c85e..e7dc3e9f4 100755
> --- a/tests/xfs/095
> +++ b/tests/xfs/095
> @@ -19,6 +19,7 @@ _begin_fstest log v2log auto
> _supported_fs xfs
> _require_scratch
> _require_v2log
> +_require_xfs_nocrc
>
> if [ "$(blockdev --getss $SCRATCH_DEV)" != "512" ]; then
> _notrun "need 512b sector size"
> diff --git a/tests/xfs/132 b/tests/xfs/132
> index ee1c8c1ec..b46d3d28c 100755
> --- a/tests/xfs/132
> +++ b/tests/xfs/132
> @@ -19,6 +19,7 @@ _supported_fs xfs
>
> # we intentionally corrupt the filesystem, so don't check it after the test
> _require_scratch_nocheck
> +_require_xfs_nocrc
>
> # on success, we'll get a shutdown filesystem with a really noisy log message
> # due to transaction cancellation. Hence we don't want to check dmesg here.
> diff --git a/tests/xfs/148 b/tests/xfs/148
> index c9f634cfd..72d05f12f 100755
> --- a/tests/xfs/148
> +++ b/tests/xfs/148
> @@ -27,6 +27,8 @@ _cleanup()
> _supported_fs xfs
> _require_test
> _require_attrs
> +_require_xfs_nocrc
> +
> _disable_dmesg_check
>
> imgfile=$TEST_DIR/img-$seq
> diff --git a/tests/xfs/158 b/tests/xfs/158
> index 4440adf6e..0107fa3d6 100755
> --- a/tests/xfs/158
> +++ b/tests/xfs/158
> @@ -18,6 +18,7 @@ _supported_fs xfs
> _require_scratch_xfs_inobtcount
> _require_command "$XFS_ADMIN_PROG" "xfs_admin"
> _require_xfs_repair_upgrade inobtcount
> +_require_xfs_nocrc
>
> # Make sure we can't format a filesystem with inobtcount and not finobt.
> _scratch_mkfs -m crc=1,inobtcount=1,finobt=0 &> $seqres.full && \
> diff --git a/tests/xfs/160 b/tests/xfs/160
> index 399fe4bcf..134b38a18 100755
> --- a/tests/xfs/160
> +++ b/tests/xfs/160
> @@ -18,6 +18,7 @@ _supported_fs xfs
> _require_command "$XFS_ADMIN_PROG" "xfs_admin"
> _require_scratch_xfs_bigtime
> _require_xfs_repair_upgrade bigtime
> +_require_xfs_nocrc
>
> date --date='Jan 1 00:00:00 UTC 2040' > /dev/null 2>&1 || \
> _notrun "Userspace does not support dates past 2038."
> diff --git a/tests/xfs/194 b/tests/xfs/194
> index 5a1dff5d2..2ef9403bb 100755
> --- a/tests/xfs/194
> +++ b/tests/xfs/194
> @@ -30,6 +30,8 @@ _supported_fs xfs
> # real QA test starts here
>
> _require_scratch
> +_require_xfs_nocrc
> +
> _scratch_mkfs_xfs >/dev/null 2>&1
>
> # For this test we use block size = 1/8 page size
> diff --git a/tests/xfs/199 b/tests/xfs/199
> index 4669f2c3e..f99b04db3 100755
> --- a/tests/xfs/199
> +++ b/tests/xfs/199
> @@ -26,6 +26,7 @@ _cleanup()
> _supported_fs xfs
>
> _require_scratch
> +_require_xfs_nocrc
>
> # clear any mkfs options so that we can directly specify the options we need to
> # be able to test the features bitmask behaviour correctly.
> diff --git a/tests/xfs/300 b/tests/xfs/300
> index 2ee5eee71..bc1f0efc6 100755
> --- a/tests/xfs/300
> +++ b/tests/xfs/300
> @@ -13,6 +13,7 @@ _begin_fstest auto fsr
> . ./common/filter
>
> _require_scratch
> +_require_xfs_nocrc
>
> # real QA test starts here
>
> diff --git a/tests/xfs/513 b/tests/xfs/513
> index ce2bb3491..42eceeb90 100755
> --- a/tests/xfs/513
> +++ b/tests/xfs/513
> @@ -37,6 +37,7 @@ _fixed_by_kernel_commit 237d7887ae72 \
> _require_test
> _require_loop
> _require_xfs_io_command "falloc"
> +_require_xfs_nocrc
>
> LOOP_IMG=$TEST_DIR/$seq.dev
> LOOP_SPARE_IMG=$TEST_DIR/$seq.logdev
> diff --git a/tests/xfs/526 b/tests/xfs/526
> index 4261e8497..188d0d514 100755
> --- a/tests/xfs/526
> +++ b/tests/xfs/526
> @@ -26,6 +26,7 @@ _supported_fs xfs
> _require_test
> _require_scratch_nocheck
> _require_xfs_mkfs_cfgfile
> +_require_xfs_nocrc
>
> cfgfile=$TEST_DIR/a
> rm -rf $cfgfile
> --
> 2.39.2
>
>
next prev parent reply other threads:[~2024-04-09 15:56 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-08 13:32 fix kernels without v5 support Christoph Hellwig
2024-04-08 13:32 ` [PATCH 1/6] xfs: remove support for tools and kernels with " Christoph Hellwig
2024-04-08 15:03 ` Eric Biggers
2024-04-08 15:04 ` Christoph Hellwig
2024-04-09 15:26 ` Darrick J. Wong
2024-04-29 9:34 ` Chandan Babu R
2024-04-29 9:53 ` Christoph Hellwig
2024-04-29 14:20 ` Zorro Lang
2024-04-08 13:32 ` [PATCH 2/6] remove xfs/096 Christoph Hellwig
2024-04-09 15:27 ` Darrick J. Wong
2024-04-08 13:32 ` [PATCH 3/6] xfs/078: remove the 512 byte block size sub-case Christoph Hellwig
2024-04-09 15:32 ` Darrick J. Wong
2024-04-08 13:32 ` [PATCH 4/6] xfs/263: remove the nocrc sub-test Christoph Hellwig
2024-04-09 15:57 ` Darrick J. Wong
2024-04-10 4:11 ` Christoph Hellwig
2024-04-08 13:32 ` [PATCH 5/6] xfs/522: use reflink instead of crc as test feature Christoph Hellwig
2024-04-09 15:39 ` Darrick J. Wong
2024-04-08 13:32 ` [PATCH 6/6] xfs: don't run tests that require v4 file systems when not supported Christoph Hellwig
2024-04-09 15:56 ` Darrick J. Wong [this message]
2024-04-10 4:14 ` Christoph Hellwig
2024-04-10 15:05 ` Darrick J. Wong
2024-04-08 14:55 ` fix kernels without v5 support Zorro Lang
2024-04-08 14:59 ` Christoph Hellwig
2024-04-08 19:00 ` Zorro Lang
2024-04-10 14:42 ` Zorro Lang
2024-04-10 14:51 ` Christoph Hellwig
2024-04-10 15:16 ` Darrick J. Wong
2024-04-10 15:18 ` Christoph Hellwig
2024-04-10 16:03 ` Darrick J. Wong
2024-04-10 19:38 ` Zorro Lang
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=20240409155612.GF634366@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@redhat.com \
--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.