Always unload zpios.ko on exit
We should always unload zpios.ko on exit. This ensures that subsequent calls to 'zfs.sh -u' from other utilities will be able to unload the module stack and properly cleanup. This is important for the the --cleanup option which can be passed to zconfig.sh and zfault.sh.
This commit is contained in:
parent
2ea9dc40f8
commit
36391312af
|
@ -42,6 +42,15 @@ OPTIONS:
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unload_die() {
|
||||||
|
unload_modules
|
||||||
|
while [ -c /dev/zpios ]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
print_header() {
|
print_header() {
|
||||||
echo --------------------- ZPIOS RESULTS ----------------------------
|
echo --------------------- ZPIOS RESULTS ----------------------------
|
||||||
echo -n "Date: "; date
|
echo -n "Date: "; date
|
||||||
|
@ -242,7 +251,7 @@ fi
|
||||||
# Create the zpool configuration
|
# Create the zpool configuration
|
||||||
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
|
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
|
||||||
-p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} \
|
-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
|
if [ ${PROFILE} ]; then
|
||||||
zpios_profile_start
|
zpios_profile_start
|
||||||
|
@ -261,7 +270,7 @@ fi
|
||||||
|
|
||||||
# Destroy the zpool configuration
|
# Destroy the zpool configuration
|
||||||
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
|
${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 the test module stack and wait for device removal
|
||||||
unload_modules
|
unload_modules
|
||||||
|
|
Loading…
Reference in New Issue