dump: _cleanup_dump should only check the scratch fs if the test required it
authorDarrick J. Wong <darrick.wong@oracle.com>
Tue, 18 Jun 2019 21:07:08 +0000 (14:07 -0700)
committerEryu Guan <guaneryu@gmail.com>
Sun, 23 Jun 2019 13:20:20 +0000 (21:20 +0800)
_cleanup_dump always tries to check the scratch fs, even if the caller
didn't actually _require_scratch.  If a previous test wrote garbage to
the scratch device then the dump test will fail here when repair
stumbles over the garbage.

This was observed by running xfs/016 and xfs/036 in succession.  xfs/016
writes 0xc6 to the scratch device and tries to format a small log.  If
the log is too small the format fails and the test will _notrun.  The
subsequent xfs/036 will _notrun and then _cleanup_dump if no tape device
is set, at which point we try to check the scratch device and logprint
aborts due to the abnormal log size (0xc6c6c6c6).

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Allison Collins <allison.henderson@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/dump

index 7c4c9cd833d60882ccd57739582fb4e616edd1f5..2b8e08936e173bc1f4e668305fc5f9f34acd0913 100644 (file)
@@ -250,7 +250,7 @@ _cleanup_dump()
        mv $dir.$seq $dir
     done
 
-    if [ $status -ne $NOTRUNSTS ]; then
+    if [ -f ${RESULT_DIR}/require_scratch ] && [ $status -ne $NOTRUNSTS ]; then
        # Sleep added to stop _check_scratch_fs from complaining that the
        # scratch_dev is still busy
        sleep 10