Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch

This commit is contained in:
Brian Behlendorf 2009-10-06 12:31:09 -07:00
commit 4f89a1ce7a
4 changed files with 54 additions and 17 deletions

View File

@ -181,7 +181,7 @@ struct spa {
refcount_t spa_refcount; /* number of opens */
};
extern const char *spa_config_path;
extern char *spa_config_path;
#define BOOTFS_COMPRESS_VALID(compress) \
((compress) == ZIO_COMPRESS_LZJB || \

View File

@ -62,7 +62,7 @@ static uint64_t spa_config_generation = 1;
* This can be overridden in userland to preserve an alternate namespace for
* userland pools when doing testing.
*/
const char *spa_config_path = ZPOOL_CACHE;
char *spa_config_path = ZPOOL_CACHE;
/*
* Called when the module is first loaded, this routine loads the configuration
@ -450,4 +450,7 @@ EXPORT_SYMBOL(spa_all_configs);
EXPORT_SYMBOL(spa_config_set);
EXPORT_SYMBOL(spa_config_generate);
EXPORT_SYMBOL(spa_config_update);
module_param(spa_config_path, charp, 0444);
MODULE_PARM_DESC(spa_config_path, "SPA config file (/etc/zfs/zpool.cache)");
#endif

View File

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

View File

@ -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