X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzvol.c;fp=module%2Fzfs%2Fzvol.c;h=125d58de918b750611034a6f9cc4043eca2fa0fa;hb=74497b7ab6af69434453e03c755d3f6e6e655aee;hp=ba26543f783a155e6e5e9564277c6f0c1d5e1fb6;hpb=bc98d6c80944dcd920d1147e6bff2192e886a2f5;p=zfs.git diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c index ba26543..125d58d 100644 --- a/module/zfs/zvol.c +++ b/module/zfs/zvol.c @@ -46,6 +46,7 @@ #include #include +unsigned int zvol_inhibit_dev = 0; unsigned int zvol_major = ZVOL_MAJOR; unsigned int zvol_threads = 32; @@ -1341,6 +1342,9 @@ zvol_create_minors(const char *pool) spa_t *spa = NULL; int error = 0; + if (zvol_inhibit_dev) + return (0); + mutex_enter(&zvol_state_lock); if (pool) { error = dmu_objset_find_spa(NULL, pool, zvol_create_minors_cb, @@ -1370,6 +1374,9 @@ zvol_remove_minors(const char *pool) zvol_state_t *zv, *zv_next; char *str; + if (zvol_inhibit_dev) + return; + str = kmem_zalloc(MAXNAMELEN, KM_SLEEP); if (pool) { (void) strncpy(str, pool, strlen(pool)); @@ -1431,6 +1438,9 @@ zvol_fini(void) list_destroy(&zvol_state_list); } +module_param(zvol_inhibit_dev, uint, 0644); +MODULE_PARM_DESC(zvol_inhibit_dev, "Do not create zvol device nodes"); + module_param(zvol_major, uint, 0444); MODULE_PARM_DESC(zvol_major, "Major number for zvol device");