Add zfs_autoimport_disable tunable

There are times when it is desirable for zfs to not automatically
populate the spa namespace at module load time using the pools
in the /etc/zfs/zpool.cache file.  The zfs_autoimport_disable
module option has been added to control this behavior.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #330
This commit is contained in:
Brian Behlendorf 2013-07-03 09:55:39 -07:00
parent 50fe577d1f
commit 31455ab130

View File

@ -65,6 +65,7 @@ static uint64_t spa_config_generation = 1;
* userland pools when doing testing. * userland pools when doing testing.
*/ */
char *spa_config_path = ZPOOL_CACHE; char *spa_config_path = ZPOOL_CACHE;
int zfs_autoimport_disable = 0;
/* /*
* Called when the module is first loaded, this routine loads the configuration * Called when the module is first loaded, this routine loads the configuration
@ -81,6 +82,9 @@ spa_config_load(void)
struct _buf *file; struct _buf *file;
uint64_t fsize; uint64_t fsize;
if (zfs_autoimport_disable)
return;
/* /*
* Open the configuration file. * Open the configuration file.
*/ */
@ -508,4 +512,8 @@ EXPORT_SYMBOL(spa_config_update);
module_param(spa_config_path, charp, 0444); module_param(spa_config_path, charp, 0444);
MODULE_PARM_DESC(spa_config_path, "SPA config file (/etc/zfs/zpool.cache)"); MODULE_PARM_DESC(spa_config_path, "SPA config file (/etc/zfs/zpool.cache)");
module_param(zfs_autoimport_disable, int, 0644);
MODULE_PARM_DESC(zfs_autoimport_disable, "Disable pool import at module load");
#endif #endif