]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs: Fix the situation that mount operation rejects corrupted XFS
authorXiao Yang <yangx.jy@cn.fujitsu.com>
Tue, 20 Nov 2018 11:58:28 +0000 (19:58 +0800)
committerEryu Guan <guaneryu@gmail.com>
Fri, 23 Nov 2018 04:34:57 +0000 (12:34 +0800)
On upstream kernel, running some tests which corrupt XFS on purpose
got the mismatched output. e.g. running xfs/087:
------------------------------------------------
 + check fs
 + corrupt image
 + mount image
-+ modify files
-broken: 1
 + repair fs
 + mount image (2)
------------------------------------------------

It is reasonable for corrupted XFS to be caught and rejected by mount
or read/write operation.

Fixes: 0828657542ea ("xfs: fix blocktrash fuzzers")
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
42 files changed:
tests/xfs/086
tests/xfs/086.out
tests/xfs/087
tests/xfs/087.out
tests/xfs/088
tests/xfs/088.out
tests/xfs/089
tests/xfs/089.out
tests/xfs/091
tests/xfs/091.out
tests/xfs/093
tests/xfs/093.out
tests/xfs/097
tests/xfs/097.out
tests/xfs/099
tests/xfs/099.out
tests/xfs/100
tests/xfs/100.out
tests/xfs/101
tests/xfs/101.out
tests/xfs/102
tests/xfs/102.out
tests/xfs/105
tests/xfs/105.out
tests/xfs/112
tests/xfs/112.out
tests/xfs/113
tests/xfs/113.out
tests/xfs/117
tests/xfs/117.out
tests/xfs/120
tests/xfs/120.out
tests/xfs/124
tests/xfs/124.out
tests/xfs/125
tests/xfs/125.out
tests/xfs/126
tests/xfs/126.out
tests/xfs/235
tests/xfs/235.out
tests/xfs/337
tests/xfs/337.out

index 2a8df3adde4aa96e8d8a5c0d24d7e24f082536ac..8602a56538fbd30d3b0b2c887baeaac318188e68 100755 (executable)
@@ -77,10 +77,9 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
 done
 
 # Try to append to files; this should fail
-echo "+ mount image"
+echo "+ mount image && modify files"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        for x in `seq 1 64`; do
                $XFS_IO_PROG -f -c "pwrite -S 0x62 0 ${blksz}" "${TESTFILE}.${x}" >> $seqres.full
        done
index 6c053f42deea17790c0391287e45213720660553..261f0c9e7a7889ca7cd7de8012f78fefec34dbb6 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 086
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 + repair fs
 + mount image
 + chattr -R -i
index 625ed355af9c6ada437ca643327dcfa9c8a77887..ede8e447e0689db569d0efc14971de57009e314c 100755 (executable)
@@ -75,17 +75,16 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
        _scratch_xfs_db -x -c "agi ${ag}" -c "agi ${ag}" -c "stack" -c "blocktrash -x 32 -o +64 -y 4096 -z ${FUZZ_ARGS}" >> $seqres.full 2>&1
 done
 
-echo "+ mount image"
+echo "+ mount image && modify files"
+broken=1
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
-       broken=0
        for x in `seq 65 70`; do
-               touch "${TESTFILE}.${x}" 2> /dev/null || broken=1
+               touch "${TESTFILE}.${x}" 2> /dev/null && broken=0
        done
-       echo "broken: ${broken}"
        umount "${SCRATCH_MNT}"
 fi
+echo "broken: ${broken}"
 
 echo "+ repair fs"
 _scratch_xfs_repair >> $seqres.full 2>&1
index 1f6e0b5e0862beff87c8bd4a2d65e21fc9f41d97..d64754f1e02f769be77fc1acfdf59dcbca5d9b5c 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 087
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 broken: 1
 + repair fs
 + mount image (2)
index df5b051143ea2bdf1ccfccea33c8d1228a24951f..6f36efab589037ec756e5083d292798186ad0466 100755 (executable)
@@ -76,10 +76,9 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
 done
 
 # Try to append to files; this should fail
-echo "+ mount image"
+echo "+ mount image && modify files"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        for x in `seq 1 64`; do
                $XFS_IO_PROG -f -c "pwrite -S 0x62 0 ${blksz}" "${TESTFILE}.${x}" >> $seqres.full
        done
index f083d3a585eaa656860b79905771b4251f7c913a..cba64af8033a57e95394872613cfe19095a599b5 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 088
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 + repair fs
 + mount image
 + chattr -R -i
index e905e21a9c2998a66f4544d3c1bb95d55f8fc6fa..5c39829969bfda0c2ac93defa108788a546a195c 100755 (executable)
@@ -76,10 +76,9 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
 done
 
 # Try to append to files; this should fail
-echo "+ mount image"
+echo "+ mount image && modify files"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        for x in `seq 1 64`; do
                $XFS_IO_PROG -f -c "pwrite -S 0x62 0 ${blksz}" "${TESTFILE}.${x}" >> $seqres.full
        done
index 722bcdfa8227f6e282bed50f95ff402869ee1882..f35cc5a03ce34387883fde84f5bd72c1a5bdfbd3 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 089
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 + repair fs
 + mount image
 + chattr -R -i
index 22c877946c0c1bedf8875168a6fe5bc3d2f4b794..5d6cd363ad26e94f9350e70bb43ff0cedc22dd97 100755 (executable)
@@ -76,10 +76,9 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
 done
 
 # Try to append to files; this should fail
-echo "+ mount image"
+echo "+ mount image && modify files"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        for x in `seq 1 64`; do
                $XFS_IO_PROG -f -c "pwrite -S 0x62 0 ${blksz}" "${TESTFILE}.${x}" >> $seqres.full
        done
index d5570236b280ad212000fd2981bc00432e33f344..a61a57ba518254eb3f903aa58fe26f9d8c0be279 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 091
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 + repair fs
 + mount image
 + chattr -R -i
index 3e1821af425771181df95740e6c3f65ff2738b9a..2b16020c3a91653681aaf4f4e4ffa390fae4ad16 100755 (executable)
@@ -75,17 +75,16 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
        _scratch_xfs_db -x -c "agi ${ag}" -c "agi ${ag}" -c "addr root" -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full 2>&1
 done
 
-echo "+ mount image"
+echo "+ mount image && modify files"
+broken=1
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
-       broken=0
        for x in `seq 65 70`; do
-               touch "${TESTFILE}.${x}" 2> /dev/null || broken=1
+               touch "${TESTFILE}.${x}" 2> /dev/null && broken=0
        done
-       echo "broken: ${broken}"
        umount "${SCRATCH_MNT}"
 fi
+echo "broken: ${broken}"
 
 echo "+ repair fs"
 _scratch_xfs_repair >> $seqres.full 2>&1
index 74b773ccff69cfd5e63a9ce2d9f43bfb6720c6af..4b59e3b9bf958cd3f510c0749bad2673d78485d4 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 093
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 broken: 1
 + repair fs
 + mount image (2)
index 174aee084845270f36bc8a5f8c492c076d999eeb..db355de68190ece1452c7f5e3fd4f55874ccfa7e 100755 (executable)
@@ -78,17 +78,17 @@ for ag in $(seq 1 $((agcount - 1))) 0; do
        _scratch_xfs_db -x -c "agi ${ag}" -c "agi ${ag}" -c "addr free_root" -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full 2>&1
 done
 
-echo "+ mount image"
+echo "+ mount image && modify files"
+broken=1
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        broken=0
        for x in `seq 65 70`; do
-               touch "${TESTFILE}.${x}" 2> /dev/null || broken=1
+               touch "${TESTFILE}.${x}" 2> /dev/null && broken=0
        done
-       echo "broken: ${broken}"
        umount "${SCRATCH_MNT}"
 fi
+echo "broken: ${broken}"
 
 echo "+ repair fs"
 _scratch_xfs_repair >> $seqres.full 2>&1
index 84f6a70a5f4e6ca69251312159d0e8737d70b00a..7d2b4861688bf8b8ad906fd4ad61df179b684025 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 097
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 broken: 1
 + repair fs
 + mount image (2)
index f5750be6858bc3d81250bc3261edf10fea40b386..a80644408e50ae6322362c105d2b65fd62e40bf0 100755 (executable)
@@ -66,10 +66,9 @@ __populate_check_xfs_dir "${inode}" block
 echo "+ corrupt dir"
 _scratch_xfs_db -x -c "inode ${inode}" -c 'dblock 0' -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index 773200b9170e8cf7befc6191024325af2301cdaa..38d67730b4892907ef84ca7f827ca553e5bda9f5 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 099
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 6b9ca5383a8ec80f6ebf5118fde3520784341ed0..b75e0bd82aef8c4751294fb156dc0966edae32ea 100755 (executable)
@@ -71,10 +71,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index 97dba7cba3763a641e76a2df6d6ce32a86c49472..488338d3bdc9fd5201ce425d85d094f7b092767a 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 100
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 57983a8fd7a790792b08bb520574992c392cefcf..069a248838a4eff01969a3035d24d308ffc1a556 100755 (executable)
@@ -66,10 +66,9 @@ __populate_check_xfs_dir "${inode}" leaf
 echo "+ corrupt dir"
 _scratch_xfs_db -x -c "inode ${inode}" -c "dblock ${leaf_lblk}" -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index 22ca6202bdc1e4d7f3dfe26cbbeae0ce8193bc50..df60f0a45dd0105974db5264b30c9922a8babc59 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 101
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 9920bad47d10985fcf778289bba6f7b45200f327..aafe626fb2ec9b86dc2d891027055f10a5c7dae1 100755 (executable)
@@ -71,10 +71,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index d8a8fa14476183739b5d2a80325e721aa187e5bb..476ca0e76436255f09eb4734086c0a6fab034fe0 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 102
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index fe451344678dbb6716683c0d04cdf25baaed5e81..8c2cf3b63fc78d31c867d76432d4882be9a8d6c6 100755 (executable)
@@ -71,10 +71,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index d8510a099f65e060bb33dda420a3bb65811ecfba..f2969f40766f477d4bd87ae1c92a24e78ea04896 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 105
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 0bd685058049d47ce4b33518d2d7ad57a4c644ae..a69e915734d5de09086aa16edf3fc380196f5639 100755 (executable)
@@ -71,10 +71,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index be0e61f44c65e78c8c7603898e21aea505a2913c..07b7611f6e45c061e7f5faa14c61de8c64bc14de 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 112
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 9394a257b3cef6fba5d31275df8cbc1dcfda819c..ff3beec147c348e825dd0d75a61c692ba734568c 100755 (executable)
@@ -71,10 +71,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify dir"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify dir"
        rm -rf "${SCRATCH_MNT}/blockdir/00000000" 2> /dev/null && _fail "modified corrupt directory"
        mkdir "${SCRATCH_MNT}/blockdir/xxxxxxxx" 2> /dev/null && _fail "add to corrupt directory"
        umount "${SCRATCH_MNT}"
index 0b59fe86d98d9c737518b9d129dd8607ba3c6fdb..54422e76d34318673ecb8e2b9887eebd75dc5efd 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 113
 + check fs
 + check dir
 + corrupt dir
-+ mount image
-+ modify dir
++ mount image && modify dir
 + repair fs
 + mount image (2)
 + chattr -R -i
index 8c1ab632e16cd70e362fdc966d883a9583c1dc1d..0a7831d5ef1f5ba6e79b8507b60e806749bb58e8 100755 (executable)
@@ -74,20 +74,19 @@ seq "${inode}" "$((inode + 64))" | while read ino; do
        _scratch_xfs_db -x -c "inode ${ino}" -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full 2>&1
 done
 
-echo "+ mount image"
+echo "+ mount image && modify files"
+broken=1
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
-       broken=0
        for x in `seq 1 64`; do
                stat "${TESTFILE}.${x}" >> $seqres.full 2>&1
-               test $? -ne 0 && broken=1
+               test $? -eq 0 && broken=0
                touch "${TESTFILE}.${x}" >> $seqres.full 2>&1
-               test $? -ne 0 && broken=1
+               test $? -eq 0 && broken=0
        done
-       echo "broken: ${broken}"
        umount "${SCRATCH_MNT}"
 fi
+echo "broken: ${broken}"
 
 echo "+ repair fs"
 _scratch_xfs_repair >> $seqres.full 2>&1
index c8be1501c9c3d15a08ac956790576c0eaa6a660b..b6b114ed22362b5bed400b5f8fd618b3f45654b0 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 117
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 broken: 1
 + repair fs
 + mount image (2)
index 9bdcc7bfb2ec1dbcab93c15710757dcfe50d7688..8965ca0921cdf60f30dff1e9ac1c861cc97c5db4 100755 (executable)
@@ -63,10 +63,9 @@ _scratch_xfs_repair -n >> $seqres.full 2>&1 || _fail "xfs_repair should not fail
 echo "+ corrupt image"
 _scratch_xfs_db -x -c "inode ${inode}" -c "addr u.bmbt.ptrs[1]" -c "addr u3.bmbt.ptrs[1]" -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full
 
-echo "+ mount image"
+echo "+ mount image && modify files"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify files"
        before="$(stat -c '%b' "${SCRATCH_MNT}/bigfile")"
        $XFS_IO_PROG -f -c "pwrite -S 0x62 ${blksz} ${blksz}" -c 'fsync' "${SCRATCH_MNT}/bigfile" >> $seqres.full 2> /dev/null
        after="$(stat -c '%b' "${SCRATCH_MNT}/bigfile")"
index 18e23291197c32b8412cf19fa0155461baa90d7f..7191a68143040f4dc51d225577f434176438f43d 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 120
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ modify files
++ mount image && modify files
 + repair fs
 + mount image (2)
 + chattr -R -i
index 41f982787b6ec4d7e101bf57146edb55a51adb70..e605d304f49377e7fa394fcfed61320751244007 100755 (executable)
@@ -71,10 +71,9 @@ _scratch_xfs_db -x -c "inode ${inode}" -c "ablock ${node_lblk}" -c "stack" | gre
 echo "+ corrupt xattr"
 _scratch_xfs_db -x -c "inode ${inode}" -c 'ablock 0' -c "stack" -c "blocktrash -x 32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full
 
-echo "+ mount image"
+echo "+ mount image && modify xattr"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify xattr"
        setfattr -x "user.x00000000" "${SCRATCH_MNT}/attrfile" 2> /dev/null && _fail "modified corrupt xattr"
        umount "${SCRATCH_MNT}"
 fi
index c11f7dd5ae04896365c5832111d7767703ff1254..81a1192169d4a7fd8446ff8cfc9560d26fb12216 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 124
 + check fs
 + check xattr
 + corrupt xattr
-+ mount image
-+ modify xattr
++ mount image && modify xattr
 + repair fs
 + mount image (2)
 + chattr -R -i
index 1dbe966ed5afd457febe59fdd14366d3db81bc35..bda8bc398d6df2a28809e85590636fd19d1c911a 100755 (executable)
@@ -71,10 +71,9 @@ _scratch_xfs_db -x -c "inode ${inode}" -c "ablock 1" -c "stack" | grep -q 'file
 echo "+ corrupt xattr"
 _scratch_xfs_db -x -c "inode ${inode}" -c 'ablock 0' -c "stack" -c "blocktrash -x 32 -o +32 -y $((blksz * 8)) -z ${FUZZ_ARGS}" >> $seqres.full
 
-echo "+ mount image"
+echo "+ mount image && modify xattr"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify xattr"
        setfattr -x "user.x00000000" "${SCRATCH_MNT}/attrfile" 2> /dev/null && _fail "modified corrupt xattr"
        umount "${SCRATCH_MNT}"
 fi
index 88e5a3e43103fa6c03d811c984d2eee4057a2d6b..085625b4d6795291f82aeb91a18be7e942efc325 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 125
 + check fs
 + check xattr
 + corrupt xattr
-+ mount image
-+ modify xattr
++ mount image && modify xattr
 + repair fs
 + mount image (2)
 + chattr -R -i
index e5a2d9edbc3ca59454b95276195179e1462f484a..4f9f8cf956de80bd55c54d5363ea86400bef7f07 100755 (executable)
@@ -76,10 +76,9 @@ while true; do
        loff="$((loff + 1))"
 done
 
-echo "+ mount image"
+echo "+ mount image && modify xattr"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ modify xattr"
        setfattr -x "user.x00000000" "${SCRATCH_MNT}/attrfile" 2> /dev/null && _fail "modified corrupt xattr"
        umount "${SCRATCH_MNT}"
 fi
index 278cc9783710ca04c29a6c8639c60fe8dceb9487..5a5bc0a160d7e3c5cddba1f45e53f397bdeb3cdb 100644 (file)
@@ -5,8 +5,7 @@ QA output created by 126
 + check fs
 + check xattr
 + corrupt xattr
-+ mount image
-+ modify xattr
++ mount image && modify xattr
 + repair fs
 + mount image (2)
 + chattr -R -i
index 97db55cc4bd8ea5e4b468228b600a05b355ba8a6..669f58b004f998e0ba75cfdf8a1abef2ca3a8a93 100755 (executable)
@@ -61,10 +61,9 @@ seq 0 $((agcount - 1)) | while read ag; do
                >> $seqres.full 2>&1
 done
 
-echo "+ mount image"
+echo "+ mount image && copy more"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ copy more"
        $XFS_IO_PROG -f -c "pwrite -S 0x63 0 $((blksz * 64))" -c "fsync" ${SCRATCH_MNT}/file4 >> $seqres.full 2>&1
        test -s ${SCRATCH_MNT}/file4 && _fail "should not be able to copy with busted rmap btree"
        umount ${SCRATCH_MNT}
index 7640224e8664bce38637ed52c29e85fa8db05ab6..7d402fe6199fffec97e10091fb2ac70f1b0f8370 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 235
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ copy more
++ mount image && copy more
 + repair fs
 + mount image (2)
 + chattr -R -i
index 37898ad974630ce9645ce62a0b16e67b8a94644f..db1b4a2bbe549f2b9679db0abb4ab382c3168177 100755 (executable)
@@ -70,10 +70,9 @@ _scratch_xfs_db -x -c "sb" -c "addr rrmapino" -c "addr u3.rtrmapbt.ptrs[1]" \
        -c "stack" -c "blocktrash -x 4096 -y 4096 -n 8 -3 -z" \
        >> $seqres.full 2>&1
 
-echo "+ mount image"
+echo "+ mount image && copy more"
 if _try_scratch_mount >> $seqres.full 2>&1; then
 
-       echo "+ copy more"
        $XFS_IO_PROG -f -R -c "pwrite -S 0x68 0 1" $SCRATCH_MNT/e3 >> $seqres.full 2>&1
        test -s ${SCRATCH_MNT}/f3 && echo "should not be able to copy with busted rtrmap btree"
        _scratch_unmount
index 1ee2db79acfeb4607cfc50f63fa9817a6497c734..e3b0ba48320d104bacdf8dfbedb7e6d99feddd4b 100644 (file)
@@ -4,8 +4,7 @@ QA output created by 337
 + make some files
 + check fs
 + corrupt image
-+ mount image
-+ copy more
++ mount image && copy more
 + repair fs
 + mount image (2)
 + copy more (2)