summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2009-10-06 12:26:00 -0700
committerBrian Behlendorf <[email protected]>2009-10-06 12:26:00 -0700
commite22d6712810b3c2f7d515722bb3da8d1ab5a4c8a (patch)
treeba4a95f63d88c9f4c2839ef83ca41b6919be0044 /scripts
parentf9d69a0aca8ce3c89cd55ca98512adf4be430c3b (diff)
parent309ace9fe3b0115be5e3e30e41f433e18393039d (diff)
Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.am4
-rwxr-xr-xscripts/zconfig.sh60
2 files changed, 49 insertions, 15 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 525a0a875..45a889ecf 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -25,9 +25,9 @@ check:
@$(ZFS) -u
@echo
@echo
- @echo -n "===================================="
+ @echo -n "==================================="
@echo -n " ZCONFIG "
- @echo "===================================="
+ @echo "==================================="
@echo
@$(ZCONFIG)
@echo
diff --git a/scripts/zconfig.sh b/scripts/zconfig.sh
index a90d984fc..7a215dcee 100755
--- a/scripts/zconfig.sh
+++ b/scripts/zconfig.sh
@@ -53,32 +53,66 @@ zconfig_test1() {
POOL_NAME=test1
TMP_FILE1=`mktemp`
TMP_FILE2=`mktemp`
+ TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
echo -n "test 1 - persistent zpool.cache: "
# Create a pool save its status for comparison.
- ${ZFS_SH} || fail 1
+ ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
${ZPOOL} status ${POOL_NAME} >${TMP_FILE1} || fail 3
# Unload/load the module stack to clear any configuration state
- # then verify that the pool can be imported and is online.
+ # then verify the pool is defined in the cache file, it can be
+ # imported without error, and it matches the original pool.
${ZFS_SH} -u || fail 4
- ${ZFS_SH} || fail 5
- ${ZPOOL} import ${POOL_NAME} || fail 6
- ${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 7
+ ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 5
+ ${ZPOOL} import -c ${TMP_CACHE} | grep ${POOL_NAME} >/dev/null||fail 6
+ ${ZPOOL} import -c ${TMP_CACHE} ${POOL_NAME} || fail 7
+ ${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 8
+ cmp ${TMP_FILE1} ${TMP_FILE2} || fail 9
- # Compare the original and imported pool status they should match
- cmp ${TMP_FILE1} ${TMP_FILE2} || fail 8
-
- # Cleanup the test pool and temporary file
- ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 9
- rm -f ${TMP_FILE1} ${TMP_FILE2} || fail 10
- ${ZFS_SH} -u || fail 11
+ # Cleanup the test pool and temporary files
+ ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 10
+ rm -f ${TMP_FILE1} ${TMP_FILE2} ${TMP_CACHE} || fail 11
+ ${ZFS_SH} -u || fail 12
pass
}
-
zconfig_test1
+# Validate ZFS disk scanning and import w/out zpool.cache configuration.
+zconfig_test2() {
+ POOL_NAME=test2
+ TMP_FILE1=`mktemp`
+ TMP_FILE2=`mktemp`
+ TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
+
+ echo -n "test 2 - scan disks for pools to import: "
+
+ # Create a pool save its status for comparison.
+ ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1
+ ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
+ ${ZPOOL} status ${POOL_NAME} >${TMP_FILE1} || fail 3
+
+ # Unload/load the module stack to clear any configuration state
+ # then remove the cache file, probe the disks for pools, import
+ # the pool without error, and match it against the original pool.
+ ${ZFS_SH} -u || fail 4
+ rm -f ${TMP_CACHE} || fail 5
+ ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 6
+ ${ZPOOL} import | grep ${POOL_NAME} >/dev/null || fail 7
+ ${ZPOOL} import ${POOL_NAME} || fail 8
+ ${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 9
+ cmp ${TMP_FILE1} ${TMP_FILE2} || fail 10
+
+ # Cleanup the test pool and temporary files
+ ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 11
+ rm -f ${TMP_FILE1} ${TMP_FILE2} || fail 12
+ ${ZFS_SH} -u || fail 13
+
+ pass
+}
+zconfig_test2
+
exit 0