[PATCH 1/4] dump: _cleanup_dump should only check the scratch fs if the test required it

Darrick J. Wong
2019-06-18T21:07:13Z

From: Darrick J. Wong <darrick.wong@oracle.com>

_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>
---
common/dump | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/dump b/common/dump
index 7c4c9cd8..2b8e0893 100644
--- a/common/dump
+++ b/common/dump
@@ -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