summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/zpios.sh13
1 files changed, 11 insertions, 2 deletions
diff --git a/scripts/zpios.sh b/scripts/zpios.sh
index e16a58a3b..a5599a6d8 100755
--- a/scripts/zpios.sh
+++ b/scripts/zpios.sh
@@ -42,6 +42,15 @@ OPTIONS:
EOF
}
+unload_die() {
+ unload_modules
+ while [ -c /dev/zpios ]; do
+ sleep 1
+ done
+
+ exit 1
+}
+
print_header() {
echo --------------------- ZPIOS RESULTS ----------------------------
echo -n "Date: "; date
@@ -242,7 +251,7 @@ fi
# Create the zpool configuration
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
-p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} \
- -l "${ZPOOL_OPTIONS}" -s "${ZFS_OPTIONS}" || exit 1
+ -l "${ZPOOL_OPTIONS}" -s "${ZFS_OPTIONS}" || unload_die
if [ ${PROFILE} ]; then
zpios_profile_start
@@ -261,7 +270,7 @@ fi
# Destroy the zpool configuration
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
- -p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} -d || exit 1
+ -p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} -d || unload_die
# Unload the test module stack and wait for device removal
unload_modules