From: Catherine Hoang <catherine.hoang@oracle.com>
To: linux-xfs@vger.kernel.org, fstests@vger.kernel.org
Subject: [PATCH v3 1/1] xfs/018: fix LARP testing for small block sizes
Date: Thu, 4 Aug 2022 17:55:52 -0700 [thread overview]
Message-ID: <20220805005552.34449-1-catherine.hoang@oracle.com> (raw)
From: "Darrick J. Wong" <djwong@kernel.org>
Fix this test to work properly when the filesystem block size is less
than 4k. Tripping the error injection points on shape changes in the
xattr structure must be done dynamically.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Catherine Hoang <catherine.hoang@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
---
tests/xfs/018 | 15 ++++++++++-----
tests/xfs/018.out | 43 ++-----------------------------------------
2 files changed, 12 insertions(+), 46 deletions(-)
diff --git a/tests/xfs/018 b/tests/xfs/018
index 041a3b24..1b45edf4 100755
--- a/tests/xfs/018
+++ b/tests/xfs/018
@@ -47,7 +47,8 @@ test_attr_replay()
touch $testfile
# Verify attr recovery
- $ATTR_PROG -l $testfile | _filter_scratch
+ $ATTR_PROG -l $testfile >> $seqres.full
+ echo "Checking contents of $attr_name" >> $seqres.full
echo -n "$attr_name: "
$ATTR_PROG -q -g $attr_name $testfile 2> /dev/null | md5sum;
@@ -98,6 +99,10 @@ attr64k="$attr32k$attr32k"
echo "*** mkfs"
_scratch_mkfs >/dev/null
+blk_sz=$(_scratch_xfs_get_sb_field blocksize)
+err_inj_attr_sz=$(( blk_sz / 3 - 50 ))
+err_inj_attr_val=$(printf "A%.0s" $(seq $err_inj_attr_sz))
+
echo "*** mount FS"
_scratch_mount
@@ -140,12 +145,12 @@ test_attr_replay extent_file1 "attr_name2" $attr1k "s" "larp"
test_attr_replay extent_file1 "attr_name2" $attr1k "r" "larp"
# extent, inject error on split
-create_test_file extent_file2 3 $attr1k
-test_attr_replay extent_file2 "attr_name4" $attr1k "s" "da_leaf_split"
+create_test_file extent_file2 3 $err_inj_attr_val
+test_attr_replay extent_file2 "attr_name4" $attr256 "s" "da_leaf_split"
# extent, inject error on fork transition
-create_test_file extent_file3 3 $attr1k
-test_attr_replay extent_file3 "attr_name4" $attr1k "s" "attr_leaf_to_node"
+create_test_file extent_file3 3 $err_inj_attr_val
+test_attr_replay extent_file3 "attr_name4" $attr256 "s" "attr_leaf_to_node"
# extent, remote
create_test_file extent_file4 1 $attr1k
diff --git a/tests/xfs/018.out b/tests/xfs/018.out
index 022b0ca3..415ecd7a 100644
--- a/tests/xfs/018.out
+++ b/tests/xfs/018.out
@@ -4,7 +4,6 @@ QA output created by 018
attr_set: Input/output error
Could not set "attr_name" for SCRATCH_MNT/testdir/empty_file1
touch: cannot touch 'SCRATCH_MNT/testdir/empty_file1': Input/output error
-Attribute "attr_name" has a 65 byte value for SCRATCH_MNT/testdir/empty_file1
attr_name: cfbe2a33be4601d2b655d099a18378fc -
attr_remove: Input/output error
@@ -15,7 +14,6 @@ attr_name: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name" for SCRATCH_MNT/testdir/empty_file2
touch: cannot touch 'SCRATCH_MNT/testdir/empty_file2': Input/output error
-Attribute "attr_name" has a 1025 byte value for SCRATCH_MNT/testdir/empty_file2
attr_name: 9fd415c49d67afc4b78fad4055a3a376 -
attr_remove: Input/output error
@@ -26,7 +24,6 @@ attr_name: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name" for SCRATCH_MNT/testdir/empty_file3
touch: cannot touch 'SCRATCH_MNT/testdir/empty_file3': Input/output error
-Attribute "attr_name" has a 65536 byte value for SCRATCH_MNT/testdir/empty_file3
attr_name: 7f6fd1b6d872108bd44bd143cbcdfa19 -
attr_remove: Input/output error
@@ -37,132 +34,96 @@ attr_name: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/inline_file1
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file1': Input/output error
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file1
-Attribute "attr_name2" has a 65 byte value for SCRATCH_MNT/testdir/inline_file1
attr_name2: cfbe2a33be4601d2b655d099a18378fc -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/inline_file1
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file1': Input/output error
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file1
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/inline_file2
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file2': Input/output error
-Attribute "attr_name2" has a 1025 byte value for SCRATCH_MNT/testdir/inline_file2
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file2
attr_name2: 9fd415c49d67afc4b78fad4055a3a376 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/inline_file2
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file2': Input/output error
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file2
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/inline_file3
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file3': Input/output error
-Attribute "attr_name2" has a 65536 byte value for SCRATCH_MNT/testdir/inline_file3
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file3
attr_name2: 7f6fd1b6d872108bd44bd143cbcdfa19 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/inline_file3
touch: cannot touch 'SCRATCH_MNT/testdir/inline_file3': Input/output error
-Attribute "attr_name1" has a 16 byte value for SCRATCH_MNT/testdir/inline_file3
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/extent_file1
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file1': Input/output error
-Attribute "attr_name2" has a 1025 byte value for SCRATCH_MNT/testdir/extent_file1
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file1
attr_name2: 9fd415c49d67afc4b78fad4055a3a376 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/extent_file1
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file1': Input/output error
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file1
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name4" for SCRATCH_MNT/testdir/extent_file2
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file2': Input/output error
-Attribute "attr_name4" has a 1025 byte value for SCRATCH_MNT/testdir/extent_file2
-Attribute "attr_name2" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file2
-Attribute "attr_name3" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file2
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file2
-attr_name4: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name4: f4ea5799d72a0a9bf2d56a685c9cba7a -
attr_set: Input/output error
Could not set "attr_name4" for SCRATCH_MNT/testdir/extent_file3
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file3': Input/output error
-Attribute "attr_name4" has a 1025 byte value for SCRATCH_MNT/testdir/extent_file3
-Attribute "attr_name2" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file3
-Attribute "attr_name3" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file3
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file3
-attr_name4: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name4: f4ea5799d72a0a9bf2d56a685c9cba7a -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/extent_file4
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file4': Input/output error
-Attribute "attr_name2" has a 65536 byte value for SCRATCH_MNT/testdir/extent_file4
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file4
attr_name2: 7f6fd1b6d872108bd44bd143cbcdfa19 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/extent_file4
touch: cannot touch 'SCRATCH_MNT/testdir/extent_file4': Input/output error
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/extent_file4
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/remote_file1
touch: cannot touch 'SCRATCH_MNT/testdir/remote_file1': Input/output error
-Attribute "attr_name2" has a 1025 byte value for SCRATCH_MNT/testdir/remote_file1
-Attribute "attr_name1" has a 65536 byte value for SCRATCH_MNT/testdir/remote_file1
attr_name2: 9fd415c49d67afc4b78fad4055a3a376 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/remote_file1
touch: cannot touch 'SCRATCH_MNT/testdir/remote_file1': Input/output error
-Attribute "attr_name1" has a 65536 byte value for SCRATCH_MNT/testdir/remote_file1
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/remote_file2
touch: cannot touch 'SCRATCH_MNT/testdir/remote_file2': Input/output error
-Attribute "attr_name2" has a 65536 byte value for SCRATCH_MNT/testdir/remote_file2
-Attribute "attr_name1" has a 65536 byte value for SCRATCH_MNT/testdir/remote_file2
attr_name2: 7f6fd1b6d872108bd44bd143cbcdfa19 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/remote_file2
touch: cannot touch 'SCRATCH_MNT/testdir/remote_file2': Input/output error
-Attribute "attr_name1" has a 65536 byte value for SCRATCH_MNT/testdir/remote_file2
attr_name2: d41d8cd98f00b204e9800998ecf8427e -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/sf_file
touch: cannot touch 'SCRATCH_MNT/testdir/sf_file': Input/output error
-Attribute "attr_name1" has a 64 byte value for SCRATCH_MNT/testdir/sf_file
-Attribute "attr_name2" has a 17 byte value for SCRATCH_MNT/testdir/sf_file
attr_name2: 9a6eb1bc9da3c66a9b495dfe2fe8a756 -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/leaf_file
touch: cannot touch 'SCRATCH_MNT/testdir/leaf_file': Input/output error
-Attribute "attr_name2" has a 257 byte value for SCRATCH_MNT/testdir/leaf_file
-Attribute "attr_name3" has a 1024 byte value for SCRATCH_MNT/testdir/leaf_file
-Attribute "attr_name1" has a 1024 byte value for SCRATCH_MNT/testdir/leaf_file
attr_name2: f4ea5799d72a0a9bf2d56a685c9cba7a -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/node_file
touch: cannot touch 'SCRATCH_MNT/testdir/node_file': Input/output error
-Attribute "attr_name2" has a 257 byte value for SCRATCH_MNT/testdir/node_file
-Attribute "attr_name1" has a 65536 byte value for SCRATCH_MNT/testdir/node_file
attr_name2: f4ea5799d72a0a9bf2d56a685c9cba7a -
*** done
--
2.34.1
next reply other threads:[~2022-08-05 0:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 0:55 Catherine Hoang [this message]
2022-08-05 4:32 ` [PATCH v3 1/1] xfs/018: fix LARP testing for small block sizes Darrick J. Wong
2022-08-05 16:35 ` Catherine Hoang
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=20220805005552.34449-1-catherine.hoang@oracle.com \
--to=catherine.hoang@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=linux-xfs@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 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.