Merge commit 'refs/top-bases/linux-ztest' into linux-ztest

This commit is contained in:
Brian Behlendorf 2009-10-06 12:30:44 -07:00
commit 3b8e4c19c7
2 changed files with 49 additions and 15 deletions

View File

@ -20,9 +20,9 @@ check:
@$(ZFS) -u @$(ZFS) -u
@echo @echo
@echo @echo
@echo -n "====================================" @echo -n "==================================="
@echo -n " ZCONFIG " @echo -n " ZCONFIG "
@echo "====================================" @echo "==================================="
@echo @echo
@$(ZCONFIG) @$(ZCONFIG)
@echo @echo

View File

@ -53,32 +53,66 @@ zconfig_test1() {
POOL_NAME=test1 POOL_NAME=test1
TMP_FILE1=`mktemp` TMP_FILE1=`mktemp`
TMP_FILE2=`mktemp` TMP_FILE2=`mktemp`
TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
echo -n "test 1 - persistent zpool.cache: " echo -n "test 1 - persistent zpool.cache: "
# Create a pool save its status for comparison. # 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_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
${ZPOOL} status ${POOL_NAME} >${TMP_FILE1} || fail 3 ${ZPOOL} status ${POOL_NAME} >${TMP_FILE1} || fail 3
# Unload/load the module stack to clear any configuration state # 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} -u || fail 4
${ZFS_SH} || fail 5 ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 5
${ZPOOL} import ${POOL_NAME} || fail 6 ${ZPOOL} import -c ${TMP_CACHE} | grep ${POOL_NAME} >/dev/null||fail 6
${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 7 ${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 # Cleanup the test pool and temporary files
cmp ${TMP_FILE1} ${TMP_FILE2} || fail 8 ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 10
rm -f ${TMP_FILE1} ${TMP_FILE2} ${TMP_CACHE} || fail 11
# Cleanup the test pool and temporary file ${ZFS_SH} -u || fail 12
${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
pass pass
} }
zconfig_test1 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 exit 0