git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add zvol_inhibit_dev module option.
[zfs.git]
/
module
/
zfs
/
zvol.c
diff --git
a/module/zfs/zvol.c
b/module/zfs/zvol.c
index
ba26543
..
125d58d
100644
(file)
--- a/
module/zfs/zvol.c
+++ b/
module/zfs/zvol.c
@@
-46,6
+46,7
@@
#include <sys/zvol.h>
#include <linux/blkdev_compat.h>
#include <sys/zvol.h>
#include <linux/blkdev_compat.h>
+unsigned int zvol_inhibit_dev = 0;
unsigned int zvol_major = ZVOL_MAJOR;
unsigned int zvol_threads = 32;
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;
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,
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;
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));
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);
}
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");
module_param(zvol_major, uint, 0444);
MODULE_PARM_DESC(zvol_major, "Major number for zvol device");