Sanatize zpios-sanity.sh environment
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 3 Jun 2011 22:08:49 +0000 (15:08 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 3 Jun 2011 22:08:49 +0000 (15:08 -0700)
Just like zconfig.sh the zpios-sanity.sh tests should run in a
sanatized environment.  This ensures they never conflict with an
installed /etc/zfs/zpool.cache file.

This commit additionally improves the -c cleanup option.  It now
removes the modules stack if loaded and destroys relevant md devices.
This behavior is now identical to zconfig.sh.

scripts/zpios-sanity.sh

index c8e9bb5..fcd91b6 100755 (executable)
@@ -64,6 +64,8 @@ fi
 
 # Perform pre-cleanup is requested
 if [ ${CLEANUP} ]; then
+       ${ZFS_SH} -u
+       cleanup_md_devices
        cleanup_loop_devices
        rm -f /tmp/zpool.cache.*
 fi
@@ -148,6 +150,9 @@ DANGEROUS_CONFIGS=(                                 \
        dm0-raid0                                       \
 )
 
+TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
+${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || die "Unable to load modules"
+
 for CONFIG in ${SAFE_CONFIGS[*]}; do
        zpios_test $CONFIG tiny
 done
@@ -158,4 +163,6 @@ if [ ${DANGEROUS} ]; then
        done
 fi
 
+${ZFS_SH} -u
+
 exit $FAILS