diff mbox series

[1/2] generic/251: don't snapshot $here during a test

Message ID 20231026031202.GM11391@frogsfrogsfrogs (mailing list archive)
State New, archived
Headers show
Series [1/2] generic/251: don't snapshot $here during a test | expand

Commit Message

Darrick J. Wong Oct. 26, 2023, 3:12 a.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

Zorro complained that the next patch caused him a regression:

generic/251 249s ... [failed, exit status 1]- output mismatch (see /root/git/xfstests/results//generic/251.out.bad)
    --- tests/generic/251.out   2022-04-29 23:07:23.263498297 +0800
    +++ /root/git/xfstests/results//generic/251.out.bad 2023-10-22 14:17:07.248059405 +0800
    @@ -1,2 +1,5 @@
     QA output created by 251
     Running the test: done.
    +5838a5839
    +> aa60581221897d3d7dd60458e1cca2fa  ./results/generic/251.full
    +!!!Checksums has changed - Filesystem possibly corrupted!!!\n
    ...
    (Run 'diff -u /root/git/xfstests/tests/generic/251.out /root/git/xfstests/results//generic/251.out.bad'  to see the entire diff)
Ran: generic/251
Failures: generic/251
Failed 1 of 1 tests

The next patch writes some debugging information into $seqres.full,
which is a file underneat $RESULT_BASE.  If the test operator does not
set RESULT_BASE, it will be set to a subdir of $here by default.  Since
this test also snapshots the contents of $here before starting its loop,
any logging to $seqres.full on such a system will cause the post-copy
checksum to fail due to a mismatch.

Fix all this by copying $here to $SCRATCH_DEV and checksumming the copy
before the FITRIM stress test begins to avoid problems with $seqres.full.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 tests/generic/251 |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Zorro Lang Oct. 27, 2023, 12:09 p.m. UTC | #1
On Wed, Oct 25, 2023 at 08:12:02PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Zorro complained that the next patch caused him a regression:
> 
> generic/251 249s ... [failed, exit status 1]- output mismatch (see /root/git/xfstests/results//generic/251.out.bad)
>     --- tests/generic/251.out   2022-04-29 23:07:23.263498297 +0800
>     +++ /root/git/xfstests/results//generic/251.out.bad 2023-10-22 14:17:07.248059405 +0800
>     @@ -1,2 +1,5 @@
>      QA output created by 251
>      Running the test: done.
>     +5838a5839
>     +> aa60581221897d3d7dd60458e1cca2fa  ./results/generic/251.full
>     +!!!Checksums has changed - Filesystem possibly corrupted!!!\n
>     ...
>     (Run 'diff -u /root/git/xfstests/tests/generic/251.out /root/git/xfstests/results//generic/251.out.bad'  to see the entire diff)
> Ran: generic/251
> Failures: generic/251
> Failed 1 of 1 tests
> 
> The next patch writes some debugging information into $seqres.full,
> which is a file underneat $RESULT_BASE.  If the test operator does not
> set RESULT_BASE, it will be set to a subdir of $here by default.  Since
> this test also snapshots the contents of $here before starting its loop,
> any logging to $seqres.full on such a system will cause the post-copy
> checksum to fail due to a mismatch.
> 
> Fix all this by copying $here to $SCRATCH_DEV and checksumming the copy
> before the FITRIM stress test begins to avoid problems with $seqres.full.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---

Thanks, it works for me.

Reviewed-by: Zorro Lang <zlang@redhat.com>

>  tests/generic/251 |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/generic/251 b/tests/generic/251
> index 8ee74980cc..3b807df5fa 100755
> --- a/tests/generic/251
> +++ b/tests/generic/251
> @@ -130,7 +130,13 @@ function run_process() {
>  }
>  
>  nproc=20
> -content=$here
> +
> +# Copy $here to the scratch fs and make coipes of the replica.  The fstests
> +# output (and hence $seqres.full) could be in $here, so we need to snapshot
> +# $here before computing file checksums.
> +content=$SCRATCH_MNT/orig
> +mkdir -p $content
> +cp -axT $here/ $content/
>  
>  mkdir -p $tmp
>  
>
diff mbox series

Patch

diff --git a/tests/generic/251 b/tests/generic/251
index 8ee74980cc..3b807df5fa 100755
--- a/tests/generic/251
+++ b/tests/generic/251
@@ -130,7 +130,13 @@  function run_process() {
 }
 
 nproc=20
-content=$here
+
+# Copy $here to the scratch fs and make coipes of the replica.  The fstests
+# output (and hence $seqres.full) could be in $here, so we need to snapshot
+# $here before computing file checksums.
+content=$SCRATCH_MNT/orig
+mkdir -p $content
+cp -axT $here/ $content/
 
 mkdir -p $tmp