]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs/018: remove inline xattr recovery tests
authorDarrick J. Wong <djwong@kernel.org>
Fri, 6 Feb 2026 21:54:00 +0000 (13:54 -0800)
committerZorro Lang <zlang@kernel.org>
Sun, 8 Feb 2026 17:30:04 +0000 (01:30 +0800)
In Linux 7.0 we've changed the extended attribute update code to try to
take a shortcut for performance reasons.  Before walking through the
attr intent state machine (slow), the update will check to see if the
attr structure is in short format and will stay in that format after the
change.  If so, then the incore inode can be updated and logged, and
the update is complete (fast) in a single transaction.

(Obviously, for complex attr structures or large changes we still walk
through the intent machinery.)

However, xfs/018 tests the behavior of the "larp" error injector, which
only triggers from inside the attr intent state machine.  Therefore, the
short format tests don't actually trip the injector.  It makes no sense
to add a new larp injection callsite for the shortcut because either the
single transaction gets written to disk or it doesn't.

The golden output no longer matches because the attr update doesn't
return EIO and shut down the filesystem due to the larp injection.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
tests/xfs/018
tests/xfs/018.out

index 8b6a3e1c508045d1541006c2b0bc8a0ba188de52..9b69c9cb14b33d15304538b0016589dfcc976020 100755 (executable)
@@ -127,16 +127,6 @@ mkdir $testdir
 
 require_larp
 
-# empty, inline
-create_test_file empty_file1 0
-test_attr_replay empty_file1 "attr_name" $attr64 "s" "larp"
-test_attr_replay empty_file1 "attr_name" $attr64 "r" "larp"
-
-# empty, inline with an unaligned value
-create_test_file empty_fileX 0
-test_attr_replay empty_fileX "attr_nameX" $attr17 "s" "larp"
-test_attr_replay empty_fileX "attr_nameX" $attr17 "r" "larp"
-
 # empty, internal
 create_test_file empty_file2 0
 test_attr_replay empty_file2 "attr_name" $attr1k "s" "larp"
@@ -152,16 +142,6 @@ create_test_file empty_fileY 0
 test_attr_replay empty_fileY "attr_name" $attr32l "s" "larp"
 test_attr_replay empty_fileY "attr_name" $attr32l "r" "larp"
 
-# inline, inline
-create_test_file inline_file1 1 $attr16
-test_attr_replay inline_file1 "attr_name2" $attr64 "s" "larp"
-test_attr_replay inline_file1 "attr_name2" $attr64 "r" "larp"
-
-# inline, internal
-create_test_file inline_file2 1 $attr16
-test_attr_replay inline_file2 "attr_name2" $attr1k "s" "larp"
-test_attr_replay inline_file2 "attr_name2" $attr1k "r" "larp"
-
 # inline, remote
 create_test_file inline_file3 1 $attr16
 test_attr_replay inline_file3 "attr_name2" $attr64k "s" "larp"
@@ -195,10 +175,6 @@ create_test_file remote_file2 1 $attr64k
 test_attr_replay remote_file2 "attr_name2" $attr64k "s" "larp"
 test_attr_replay remote_file2 "attr_name2" $attr64k "r" "larp"
 
-# replace shortform with different value
-create_test_file sf_file 2 $attr64
-test_attr_replay sf_file "attr_name2" $attr16 "s" "larp"
-
 # replace leaf with different value
 create_test_file leaf_file 3 $attr1k
 test_attr_replay leaf_file "attr_name2" $attr256 "s" "larp"
index ad8fd5266f06d00f73c25c1c518e1470c78537d9..be1d6422af65a5d76dc33eb410c5aec1687084b7 100644 (file)
@@ -1,26 +1,6 @@
 QA output created by 018
 *** mkfs
 *** mount FS
-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
-attr_name: e889d82dd111d6315d7b1edce2b1b30f  -
-
-attr_remove: Input/output error
-Could not remove "attr_name" for SCRATCH_MNT/testdir/empty_file1
-touch: cannot touch 'SCRATCH_MNT/testdir/empty_file1': Input/output error
-attr_name: d41d8cd98f00b204e9800998ecf8427e  -
-
-attr_set: Input/output error
-Could not set "attr_nameX" for SCRATCH_MNT/testdir/empty_fileX
-touch: cannot touch 'SCRATCH_MNT/testdir/empty_fileX': Input/output error
-attr_nameX: cb72c43fb97dd3cb4ac6ad2d9bd365e1  -
-
-attr_remove: Input/output error
-Could not remove "attr_nameX" for SCRATCH_MNT/testdir/empty_fileX
-touch: cannot touch 'SCRATCH_MNT/testdir/empty_fileX': Input/output error
-attr_nameX: 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
@@ -51,26 +31,6 @@ Could not remove "attr_name" for SCRATCH_MNT/testdir/empty_fileY
 touch: cannot touch 'SCRATCH_MNT/testdir/empty_fileY': Input/output error
 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
-attr_name2: e889d82dd111d6315d7b1edce2b1b30f  -
-
-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
-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
-attr_name2: 4198214ee02e6ad7ac39559cd3e70070  -
-
-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
-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
@@ -131,11 +91,6 @@ Could not remove "attr_name2" for SCRATCH_MNT/testdir/remote_file2
 touch: cannot touch 'SCRATCH_MNT/testdir/remote_file2': Input/output error
 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
-attr_name2: e43df9b5a46b755ea8f1b4dd08265544  -
-
 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