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 <behlendorf1@llnl.gov>
This commit is contained in:
Fajar A. Nugraha
2011-02-22 17:58:44 +07:00
committed by Brian Behlendorf
parent 61da501f9d
commit 4c0d8e50b9
10 changed files with 761 additions and 9 deletions
+10
View File
@@ -0,0 +1,10 @@
include $(top_srcdir)/config/Rules.am
DEFAULT_INCLUDES += \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib/libspl/include
bin_PROGRAMS = zvol_id
zvol_id_SOURCES = \
$(top_srcdir)/cmd/zvol_id/zvol_id_main.c