# Inject error
_scratch_inject_error $error_tag
- # Set attribute
- echo "$attr_value" | ${ATTR_PROG} -$flag "$attr_name" $testfile 2>&1 | \
+ # Set attribute, being careful not to include the trailing newline
+ # in the attr value.
+ echo -n "$attr_value" | ${ATTR_PROG} -$flag "$attr_name" $testfile 2>&1 | \
_filter_scratch
# FS should be shut down, touch will fail
echo 1 > /sys/fs/xfs/debug/larp
attr16="0123456789ABCDEF"
+attr17="X$attr16"
attr64="$attr16$attr16$attr16$attr16"
attr256="$attr64$attr64$attr64$attr64"
attr1k="$attr256$attr256$attr256$attr256"
attr8k="$attr4k$attr4k"
attr16k="$attr8k$attr8k"
attr32k="$attr16k$attr16k"
+attr32l="X$attr32k"
attr64k="$attr32k$attr32k"
echo "*** mkfs"
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"
test_attr_replay empty_file3 "attr_name" $attr64k "s" "larp"
test_attr_replay empty_file3 "attr_name" $attr64k "r" "larp"
+# empty, remote with an unaligned value
+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"
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: cfbe2a33be4601d2b655d099a18378fc -
+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
-attr_name: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name: 4198214ee02e6ad7ac39559cd3e70070 -
attr_remove: Input/output error
Could not remove "attr_name" for SCRATCH_MNT/testdir/empty_file2
touch: cannot touch 'SCRATCH_MNT/testdir/empty_file3': Input/output error
attr_name: d41d8cd98f00b204e9800998ecf8427e -
+attr_set: Input/output error
+Could not set "attr_name" for SCRATCH_MNT/testdir/empty_fileY
+touch: cannot touch 'SCRATCH_MNT/testdir/empty_fileY': Input/output error
+attr_name: 3ad10faae9dcfa4083f8dfa641688733 -
+
+attr_remove: Input/output error
+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: cfbe2a33be4601d2b655d099a18378fc -
+attr_name2: e889d82dd111d6315d7b1edce2b1b30f -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/inline_file1
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: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name2: 4198214ee02e6ad7ac39559cd3e70070 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/inline_file2
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
-attr_name2: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name2: 4198214ee02e6ad7ac39559cd3e70070 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/extent_file1
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
-attr_name4: f4ea5799d72a0a9bf2d56a685c9cba7a -
+attr_name4: 5bbe95fdc1361656e833390aefafceb6 -
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
-attr_name4: f4ea5799d72a0a9bf2d56a685c9cba7a -
+attr_name4: 5bbe95fdc1361656e833390aefafceb6 -
attr_set: Input/output error
Could not set "attr_name2" for SCRATCH_MNT/testdir/extent_file4
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
-attr_name2: 9fd415c49d67afc4b78fad4055a3a376 -
+attr_name2: 4198214ee02e6ad7ac39559cd3e70070 -
attr_remove: Input/output error
Could not remove "attr_name2" for SCRATCH_MNT/testdir/remote_file1
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: 9a6eb1bc9da3c66a9b495dfe2fe8a756 -
+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
-attr_name2: f4ea5799d72a0a9bf2d56a685c9cba7a -
+attr_name2: 5bbe95fdc1361656e833390aefafceb6 -
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
-attr_name2: f4ea5799d72a0a9bf2d56a685c9cba7a -
+attr_name2: 5bbe95fdc1361656e833390aefafceb6 -
*** done