Set zfs_autoimport_disable default value to 1
When loading the ZFS kernel modules they should not populate the spa namespace using the cache file. This behavior isn't consistent with other Linux kernel modules and we need to move away from it. Removing this makes the whole startup process predictable with four basic steps which are driven by the init system. 1) modprobe 2) zpool import 3) zfs mount 4) zfs share This change also helps lay the groundwork for eventually removing the kobj_* compatibility code on the kernel side. It may need to be preserved in userspace because libzfs_init() depends on it. This is why the conditional must be wrapped with an #ifdef _KERNEL. Signed-off-by: Dan Swartzendruber <dswartz@druber.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #2820
This commit is contained in:
parent
7d2868d5fc
commit
1611bb7b4f
|
@ -64,7 +64,7 @@ static uint64_t spa_config_generation = 1;
|
|||
* userland pools when doing testing.
|
||||
*/
|
||||
char *spa_config_path = ZPOOL_CACHE;
|
||||
int zfs_autoimport_disable = 0;
|
||||
int zfs_autoimport_disable = 1;
|
||||
|
||||
/*
|
||||
* Called when the module is first loaded, this routine loads the configuration
|
||||
|
@ -81,8 +81,10 @@ spa_config_load(void)
|
|||
struct _buf *file;
|
||||
uint64_t fsize;
|
||||
|
||||
#ifdef _KERNEL
|
||||
if (zfs_autoimport_disable)
|
||||
return;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Open the configuration file.
|
||||
|
|
|
@ -96,6 +96,7 @@ test_1() {
|
|||
# Unload/load the module stack and verify the pool persists.
|
||||
${ZFS_SH} -u || fail 4
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 5
|
||||
${ZPOOL} import -c ${TMP_CACHE} ${POOL_NAME} || fail 5
|
||||
${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 6
|
||||
cmp ${TMP_FILE1} ${TMP_FILE2} || fail 7
|
||||
|
||||
|
@ -126,8 +127,7 @@ test_2() {
|
|||
${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 -f ${POOL_NAME} || fail 8
|
||||
${ZPOOL} import -d /dev ${POOL_NAME} || fail 8
|
||||
${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 9
|
||||
cmp ${TMP_FILE1} ${TMP_FILE2} || fail 10
|
||||
|
||||
|
@ -266,6 +266,7 @@ test_4() {
|
|||
|
||||
# Load the modules, list the pools to ensure they are opened
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 10
|
||||
${ZPOOL} import -c ${TMP_CACHE} ${POOL_NAME} || fail 10
|
||||
${ZPOOL} list &>/dev/null
|
||||
|
||||
# Verify the devices were created
|
||||
|
|
Loading…
Reference in New Issue