diff mbox series

[1/2] dmflakey: don't run dmflakey tests with an external log device

Message ID 20210705040307.3322709-2-tytso@mit.edu (mailing list archive)
State New, archived
Headers show
Series skip tests that don't work with an external log | expand

Commit Message

Theodore Ts'o July 5, 2021, 4:03 a.m. UTC
dmflakey works by dropping all writes before unmounting to similate a
crash/power loss.  This doesn't work if there is an external log
device, since we only drop writes to the primary block device, and not
the external log device.  Fixing this for real would require somehow
arranging to atomically loading a new dmflakey table for two block
devices at the same time, so for now, just skip tests using dmflakey
if the external log device is enabled.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 common/dmflakey | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/common/dmflakey b/common/dmflakey
index b4e11ae9..3bbf6e2b 100644
--- a/common/dmflakey
+++ b/common/dmflakey
@@ -11,6 +11,10 @@  FLAKEY_ERROR_WRITES=2
 _init_flakey()
 {
 	local BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
+
+	if test "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ; then
+		_notrun "dmflakey tests don't work with an external log device"
+	fi
 	FLAKEY_DEV=/dev/mapper/flakey-test
 	FLAKEY_TABLE="0 $BLK_DEV_SIZE flakey $SCRATCH_DEV 0 180 0"
 	FLAKEY_TABLE_DROP="0 $BLK_DEV_SIZE flakey $SCRATCH_DEV 0 0 180 1 drop_writes"