* [PATCH] fstests: disable generic duperemove tests for NFS and others
@ 2024-12-08 18:07 cel
2024-12-08 20:01 ` Dave Chinner
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: cel @ 2024-12-08 18:07 UTC (permalink / raw)
To: Zorro Lang; +Cc: linux-fsdevel, Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
On NFS mounts, at least, generic/559, 560, and 561 run for a very
long time, and usually fail.
The above tests already gate on whether duperemove is installed on
the test system, but when fstests is installed as part of an
automated workflow designed to handle many filesystem types,
duperemove is installed by default.
duperemove(8) states:
Deduplication is currently only supported by the btrfs and xfs
filesystem.
Ensure that the generic dedupe tests are run on only filesystems
where duperemove is known to work.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
tests/generic/559 | 1 +
tests/generic/560 | 1 +
tests/generic/561 | 1 +
3 files changed, 3 insertions(+)
diff --git a/tests/generic/559 b/tests/generic/559
index 28cf2e1a32c2..cf80be92142d 100755
--- a/tests/generic/559
+++ b/tests/generic/559
@@ -13,6 +13,7 @@ _begin_fstest auto stress dedupe
. ./common/filter
. ./common/reflink
+_supported_fs btrfs xfs
_require_scratch_duperemove
fssize=$((2 * 1024 * 1024 * 1024))
diff --git a/tests/generic/560 b/tests/generic/560
index 067d3ec0049e..a94b512efda1 100755
--- a/tests/generic/560
+++ b/tests/generic/560
@@ -15,6 +15,7 @@ _begin_fstest auto stress dedupe
. ./common/filter
. ./common/reflink
+_supported_fs btrfs xfs
_require_scratch_duperemove
_scratch_mkfs > $seqres.full 2>&1
diff --git a/tests/generic/561 b/tests/generic/561
index afe727ac56cb..da5f111c5b23 100755
--- a/tests/generic/561
+++ b/tests/generic/561
@@ -28,6 +28,7 @@ _cleanup()
. ./common/filter
. ./common/reflink
+_supported_fs btrfs xfs
_require_scratch_duperemove
_scratch_mkfs > $seqres.full 2>&1
--
2.47.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-08 18:07 [PATCH] fstests: disable generic duperemove tests for NFS and others cel
@ 2024-12-08 20:01 ` Dave Chinner
2024-12-09 13:49 ` Christoph Hellwig
2024-12-09 18:45 ` Zorro Lang
2 siblings, 0 replies; 8+ messages in thread
From: Dave Chinner @ 2024-12-08 20:01 UTC (permalink / raw)
To: cel; +Cc: Zorro Lang, linux-fsdevel, Chuck Lever
On Sun, Dec 08, 2024 at 01:07:18PM -0500, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> On NFS mounts, at least, generic/559, 560, and 561 run for a very
> long time, and usually fail.
>
> The above tests already gate on whether duperemove is installed on
> the test system, but when fstests is installed as part of an
> automated workflow designed to handle many filesystem types,
> duperemove is installed by default.
>
> duperemove(8) states:
>
> Deduplication is currently only supported by the btrfs and xfs
> filesystem.
>
> Ensure that the generic dedupe tests are run on only filesystems
> where duperemove is known to work.
Perhaps we should just remove this test. duperemove seems to be
quite flakey unreliable and keeps failing on my XFS test systems
(e.g. getting stuck in endless fiemap loops). I've set these tests
to be 'unreliable_in_parallel' because a 75% failure rate when the
system is under heavy load due to duperemove bugs is unacceptible in
a tool being used for a regression test.
-Dave.
--
Dave Chinner
david@fromorbit.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-08 18:07 [PATCH] fstests: disable generic duperemove tests for NFS and others cel
2024-12-08 20:01 ` Dave Chinner
@ 2024-12-09 13:49 ` Christoph Hellwig
2024-12-09 15:00 ` Chuck Lever
2024-12-09 18:45 ` Zorro Lang
2 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2024-12-09 13:49 UTC (permalink / raw)
To: cel; +Cc: Zorro Lang, linux-fsdevel, Chuck Lever
> +_supported_fs btrfs xfs
This is not how generic tests works. They need a helper in common
to check if a feature is present or not, which then probes for the
feature. We should figure out what the issue is here first before
doing hacks like that as well.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-09 13:49 ` Christoph Hellwig
@ 2024-12-09 15:00 ` Chuck Lever
2024-12-09 15:07 ` Christoph Hellwig
0 siblings, 1 reply; 8+ messages in thread
From: Chuck Lever @ 2024-12-09 15:00 UTC (permalink / raw)
To: Christoph Hellwig, cel; +Cc: Zorro Lang, linux-fsdevel
On 12/9/24 8:49 AM, Christoph Hellwig wrote:
>> +_supported_fs btrfs xfs
>
> This is not how generic tests works. They need a helper in common
> to check if a feature is present or not, which then probes for the
> feature.
Someone who has knowledge of the interfaces and facilities that
duperemove depends on will need to construct such a helper. I can
only guess.
> We should figure out what the issue is here first before
> doing hacks like that as well.
To be clear, there are two issues:
1. Dave's report of unreliability on filesystems where it still makes
sense to use duperemove, and
2. How to disable this test on filesystems (like NFS) where duperemove
is not supported or where the test is not meaningful. The current check
for the presence of the duperemove executable is IMO inadequate.
For now I've expunged these three tests from the NFSD CI workflow.
--
Chuck Lever
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-09 15:00 ` Chuck Lever
@ 2024-12-09 15:07 ` Christoph Hellwig
2024-12-09 19:35 ` Chuck Lever
0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2024-12-09 15:07 UTC (permalink / raw)
To: Chuck Lever; +Cc: Christoph Hellwig, cel, Zorro Lang, linux-fsdevel
On Mon, Dec 09, 2024 at 10:00:58AM -0500, Chuck Lever wrote:
> 2. How to disable this test on filesystems (like NFS) where duperemove
> is not supported or where the test is not meaningful. The current check
> for the presence of the duperemove executable is IMO inadequate.
I've not looked at dupremove, but the name suggested it's de-duplicating
and thus needs a working FIDEDUPERANGE ioctl. So the test should check
for that using the _require_test_dedupe / _require_scratch_dedupe
helpers. generic/{559,560,561} do that, so something either in these
helpers is probably broken given that NFS rejects remap_file_range
with REMAP_FILE_DEDUP, although a bit of tracing would be useful if
there actually is something broken in NFS or the VFS.
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-09 15:07 ` Christoph Hellwig
@ 2024-12-09 19:35 ` Chuck Lever
0 siblings, 0 replies; 8+ messages in thread
From: Chuck Lever @ 2024-12-09 19:35 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: cel, Zorro Lang, linux-fsdevel, fstests
On 12/9/24 10:07 AM, Christoph Hellwig wrote:
> On Mon, Dec 09, 2024 at 10:00:58AM -0500, Chuck Lever wrote:
>> 2. How to disable this test on filesystems (like NFS) where duperemove
>> is not supported or where the test is not meaningful. The current check
>> for the presence of the duperemove executable is IMO inadequate.
>
> I've not looked at dupremove, but the name suggested it's de-duplicating
> and thus needs a working FIDEDUPERANGE ioctl. So the test should check
> for that using the _require_test_dedupe / _require_scratch_dedupe
> helpers. generic/{559,560,561} do that, so something either in these
> helpers is probably broken given that NFS rejects remap_file_range
> with REMAP_FILE_DEDUP, although a bit of tracing would be useful if
> there actually is something broken in NFS or the VFS.
It doesn't appear to be an NFS problem; duperemove is not even issuing
the ioctl as a toe-test to see if it will work.
I opened https://github.com/markfasheh/duperemove/issues/363
--
Chuck Lever
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-08 18:07 [PATCH] fstests: disable generic duperemove tests for NFS and others cel
2024-12-08 20:01 ` Dave Chinner
2024-12-09 13:49 ` Christoph Hellwig
@ 2024-12-09 18:45 ` Zorro Lang
2024-12-09 18:50 ` Chuck Lever
2 siblings, 1 reply; 8+ messages in thread
From: Zorro Lang @ 2024-12-09 18:45 UTC (permalink / raw)
To: cel, fstests; +Cc: linux-fsdevel, Chuck Lever
On Sun, Dec 08, 2024 at 01:07:18PM -0500, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> On NFS mounts, at least, generic/559, 560, and 561 run for a very
> long time, and usually fail.
>
> The above tests already gate on whether duperemove is installed on
> the test system, but when fstests is installed as part of an
> automated workflow designed to handle many filesystem types,
> duperemove is installed by default.
>
> duperemove(8) states:
>
> Deduplication is currently only supported by the btrfs and xfs
> filesystem.
If so, I'm good to limit this test on btrfs and xfs. It might be better to
add this comment to "_supported_fs btrfs xfs". Anyway,
Reviewed-by: Zorro Lang <zlang@redhat.com>
(This's a fstests patch, send to fstests@vger.kernel.org.)
Thanks,
Zorro
>
> Ensure that the generic dedupe tests are run on only filesystems
> where duperemove is known to work.
>
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> tests/generic/559 | 1 +
> tests/generic/560 | 1 +
> tests/generic/561 | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/tests/generic/559 b/tests/generic/559
> index 28cf2e1a32c2..cf80be92142d 100755
> --- a/tests/generic/559
> +++ b/tests/generic/559
> @@ -13,6 +13,7 @@ _begin_fstest auto stress dedupe
> . ./common/filter
> . ./common/reflink
>
> +_supported_fs btrfs xfs
> _require_scratch_duperemove
>
> fssize=$((2 * 1024 * 1024 * 1024))
> diff --git a/tests/generic/560 b/tests/generic/560
> index 067d3ec0049e..a94b512efda1 100755
> --- a/tests/generic/560
> +++ b/tests/generic/560
> @@ -15,6 +15,7 @@ _begin_fstest auto stress dedupe
> . ./common/filter
> . ./common/reflink
>
> +_supported_fs btrfs xfs
> _require_scratch_duperemove
>
> _scratch_mkfs > $seqres.full 2>&1
> diff --git a/tests/generic/561 b/tests/generic/561
> index afe727ac56cb..da5f111c5b23 100755
> --- a/tests/generic/561
> +++ b/tests/generic/561
> @@ -28,6 +28,7 @@ _cleanup()
> . ./common/filter
> . ./common/reflink
>
> +_supported_fs btrfs xfs
> _require_scratch_duperemove
>
> _scratch_mkfs > $seqres.full 2>&1
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fstests: disable generic duperemove tests for NFS and others
2024-12-09 18:45 ` Zorro Lang
@ 2024-12-09 18:50 ` Chuck Lever
0 siblings, 0 replies; 8+ messages in thread
From: Chuck Lever @ 2024-12-09 18:50 UTC (permalink / raw)
To: Zorro Lang, cel, fstests; +Cc: linux-fsdevel
On 12/9/24 1:45 PM, Zorro Lang wrote:
> On Sun, Dec 08, 2024 at 01:07:18PM -0500, cel@kernel.org wrote:
>> From: Chuck Lever <chuck.lever@oracle.com>
>>
>> On NFS mounts, at least, generic/559, 560, and 561 run for a very
>> long time, and usually fail.
>>
>> The above tests already gate on whether duperemove is installed on
>> the test system, but when fstests is installed as part of an
>> automated workflow designed to handle many filesystem types,
>> duperemove is installed by default.
>>
>> duperemove(8) states:
>>
>> Deduplication is currently only supported by the btrfs and xfs
>> filesystem.
>
> If so, I'm good to limit this test on btrfs and xfs. It might be better to
> add this comment to "_supported_fs btrfs xfs". Anyway,
>
> Reviewed-by: Zorro Lang <zlang@redhat.com>
>
> (This's a fstests patch, send to fstests@vger.kernel.org.)
Noted.
Christoph requested additional root cause analysis to see why the
existing feature check utilities are not blocking these tests on NFS.
I plan to look into that and repost if needed.
> Thanks,
> Zorro
>
>>
>> Ensure that the generic dedupe tests are run on only filesystems
>> where duperemove is known to work.
>>
>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
>> ---
>> tests/generic/559 | 1 +
>> tests/generic/560 | 1 +
>> tests/generic/561 | 1 +
>> 3 files changed, 3 insertions(+)
>>
>> diff --git a/tests/generic/559 b/tests/generic/559
>> index 28cf2e1a32c2..cf80be92142d 100755
>> --- a/tests/generic/559
>> +++ b/tests/generic/559
>> @@ -13,6 +13,7 @@ _begin_fstest auto stress dedupe
>> . ./common/filter
>> . ./common/reflink
>>
>> +_supported_fs btrfs xfs
>> _require_scratch_duperemove
>>
>> fssize=$((2 * 1024 * 1024 * 1024))
>> diff --git a/tests/generic/560 b/tests/generic/560
>> index 067d3ec0049e..a94b512efda1 100755
>> --- a/tests/generic/560
>> +++ b/tests/generic/560
>> @@ -15,6 +15,7 @@ _begin_fstest auto stress dedupe
>> . ./common/filter
>> . ./common/reflink
>>
>> +_supported_fs btrfs xfs
>> _require_scratch_duperemove
>>
>> _scratch_mkfs > $seqres.full 2>&1
>> diff --git a/tests/generic/561 b/tests/generic/561
>> index afe727ac56cb..da5f111c5b23 100755
>> --- a/tests/generic/561
>> +++ b/tests/generic/561
>> @@ -28,6 +28,7 @@ _cleanup()
>> . ./common/filter
>> . ./common/reflink
>>
>> +_supported_fs btrfs xfs
>> _require_scratch_duperemove
>>
>> _scratch_mkfs > $seqres.full 2>&1
>> --
>> 2.47.0
>>
>>
>
--
Chuck Lever
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-09 19:35 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-08 18:07 [PATCH] fstests: disable generic duperemove tests for NFS and others cel
2024-12-08 20:01 ` Dave Chinner
2024-12-09 13:49 ` Christoph Hellwig
2024-12-09 15:00 ` Chuck Lever
2024-12-09 15:07 ` Christoph Hellwig
2024-12-09 19:35 ` Chuck Lever
2024-12-09 18:45 ` Zorro Lang
2024-12-09 18:50 ` Chuck Lever
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.