summaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorFajar A. Nugraha <[email protected]>2011-02-22 17:58:44 +0700
committerBrian Behlendorf <[email protected]>2011-02-25 09:43:19 -0800
commit4c0d8e50b99b4f3b4a9b7bc67ac7fc4e406f5755 (patch)
tree4d1baadba665aa9f15ac34d729f41440c1edf24c /include/sys
parent61da501f9d93f305d21d5d61fa3ecd476bdbac93 (diff)
Use udev to create /dev/zvol/[dataset_name] links
This commit allows zvols with names longer than 32 characters, which fixes issue on https://github.com/behlendorf/zfs/issues/#issue/102. Changes include: - use /dev/zd* device names for zvol, where * is the device minor (include/sys/fs/zfs.h, module/zfs/zvol.c). - add BLKZNAME ioctl to get dataset name from userland (include/sys/fs/zfs.h, module/zfs/zvol.c, cmd/zvol_id). - add udev rule to create /dev/zvol/[dataset_name] and the legacy /dev/[dataset_name] symlink. For partitions on zvol, it will create /dev/zvol/[dataset_name]-part* (etc/udev/rules.d/60-zvol.rules, cmd/zvol_id). Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/fs/zfs.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/sys/fs/zfs.h b/include/sys/fs/zfs.h
index 25f256251..44aed1335 100644
--- a/include/sys/fs/zfs.h
+++ b/include/sys/fs/zfs.h
@@ -707,6 +707,7 @@ typedef struct ddt_histogram {
#define ZVOL_MINOR_BITS 4
#define ZVOL_MINOR_MASK ((1U << ZVOL_MINOR_BITS) - 1)
#define ZVOL_MINORS (1 << 4)
+#define ZVOL_DEV_NAME "zd"
#define ZVOL_PROP_NAME "name"
#define ZVOL_DEFAULT_BLOCKSIZE 8192
@@ -782,6 +783,11 @@ typedef enum zfs_ioc {
} zfs_ioc_t;
/*
+ * zvol ioctl to get dataset name
+ */
+#define BLKZNAME _IO(0x12,125)
+
+/*
* Internal SPA load state. Used by FMA diagnosis engine.
*/
typedef enum {