aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/zfs-tests/tests/functional/mmp/mmp.cfg2
-rw-r--r--tests/zfs-tests/tests/functional/mmp/mmp.kshlib11
-rwxr-xr-xtests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh10
3 files changed, 18 insertions, 5 deletions
diff --git a/tests/zfs-tests/tests/functional/mmp/mmp.cfg b/tests/zfs-tests/tests/functional/mmp/mmp.cfg
index 29e030a43..36f995443 100644
--- a/tests/zfs-tests/tests/functional/mmp/mmp.cfg
+++ b/tests/zfs-tests/tests/functional/mmp/mmp.cfg
@@ -30,6 +30,8 @@ export TXG_TIMEOUT_DEFAULT=5
export MMP_POOL=mmppool
export MMP_DIR=$TEST_BASE_DIR/mmp
+export MMP_CACHE=$MMP_DIR/zpool.cache
+export MMP_ZTEST_LOG=$MMP_DIR/ztest.log
export MMP_HISTORY=100
export MMP_HISTORY_OFF=0
diff --git a/tests/zfs-tests/tests/functional/mmp/mmp.kshlib b/tests/zfs-tests/tests/functional/mmp/mmp.kshlib
index 43e4f3711..4c46ae7a2 100644
--- a/tests/zfs-tests/tests/functional/mmp/mmp.kshlib
+++ b/tests/zfs-tests/tests/functional/mmp/mmp.kshlib
@@ -97,21 +97,24 @@ function mmp_pool_create # pool dir
{
typeset pool=${1:-$MMP_POOL}
typeset dir=${2:-$MMP_DIR}
- typeset opts="-T120 -M -k0 -f $dir -E -p $pool"
+ typeset opts="-VVVVV -T120 -M -k0 -f $dir -E -p $pool"
log_must mkdir -p $dir
+ log_must rm -f $dir/*
log_must truncate -s $MINVDEVSIZE $dir/vdev1 $dir/vdev2
log_must mmp_clear_hostid
log_must mmp_set_hostid $HOSTID1
- log_must zpool create -f $pool mirror $dir/vdev1 $dir/vdev2
+ log_must zpool create -f -o cachefile=$MMP_CACHE $pool \
+ mirror $dir/vdev1 $dir/vdev2
log_must zpool set multihost=on $pool
+ log_must mv $MMP_CACHE ${MMP_CACHE}.stale
log_must zpool export $pool
log_must mmp_clear_hostid
log_must mmp_set_hostid $HOSTID2
log_note "Starting ztest in the background as hostid $HOSTID1"
- log_must eval "ZFS_HOSTID=$HOSTID1 ztest $opts >/dev/null 2>&1 &"
+ log_must eval "ZFS_HOSTID=$HOSTID1 ztest $opts >$MMP_ZTEST_LOG 2>&1 &"
while ! is_pool_imported "$pool" "-d $dir"; do
log_must pgrep ztest
@@ -134,7 +137,7 @@ function mmp_pool_destroy # pool dir
destroy_pool $pool
fi
- rm -Rf $dir
+ log_must rm -f $dir/*
mmp_clear_hostid
}
diff --git a/tests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh b/tests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh
index 0a487d5b1..035264fe0 100755
--- a/tests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh
+++ b/tests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh
@@ -41,7 +41,7 @@ verify_runnable "both"
function cleanup
{
- mmp_pool_destroy $MMP_DIR $MMP_POOL
+ mmp_pool_destroy $MMP_POOL $MMP_DIR
log_must set_tunable64 zfs_multihost_interval $MMP_INTERVAL_DEFAULT
log_must mmp_clear_hostid
}
@@ -60,11 +60,19 @@ log_must is_pool_imported $MMP_POOL "-d $MMP_DIR"
# 3. Verify 'zpool import [-f] $MMP_POOL' cannot import the pool.
MMP_IMPORTED_MSG="Cannot import '$MMP_POOL': pool is imported"
+
log_must try_pool_import $MMP_POOL "-d $MMP_DIR" "$MMP_IMPORTED_MSG"
for i in {1..10}; do
log_must try_pool_import $MMP_POOL "-f -d $MMP_DIR" "$MMP_IMPORTED_MSG"
done
+log_must try_pool_import $MMP_POOL "-c ${MMP_CACHE}.stale" "$MMP_IMPORTED_MSG"
+
+for i in {1..10}; do
+ log_must try_pool_import $MMP_POOL "-f -c ${MMP_CACHE}.stale" \
+ "$MMP_IMPORTED_MSG"
+done
+
# 4. Kill ztest to make pool eligible for import. Poll with 'zpool status'.
ZTESTPID=$(pgrep ztest)
if [ -n "$ZTESTPID" ]; then