Package: udev
Version: 0.140-2
Severity: normal
Tags: patch

Hello,

The persistent-storage rule for making the disk (non-partition) by-id
link for cciss devices is too greedy, and also matches partitions:

  cciss?c[0-9]d[0-9]*

will match not only the device we want (e.g. cciss/c0d0), but also any
partitions in it (e.g. cciss/c0d0p1).  I have attached a patch that
fixes the issue for me, using the non-Debian-specific
60-persistent-storage.rules file as a basis.  It uses ENV{DEVTYPE},
rather than the name of the device, to determine whether the device is a
disk or a partition.

-- 
John Wright <j...@debian.org>
diff --git a/rules/debian/60-persistent-storage.rules b/rules/debian/60-persistent-storage.rules
index c198d15..ca3b008 100644
--- a/rules/debian/60-persistent-storage.rules
+++ b/rules/debian/60-persistent-storage.rules
@@ -85,9 +85,9 @@ ENV{DEVTYPE}=="disk",			ENV{ID_EDD}=="?*", \
 ENV{DEVTYPE}=="partition",		ENV{ID_EDD}=="?*", \
 	SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
 
-KERNEL=="sd*[!0-9]|sr*|dasd[!0-9]*|cciss?c[0-9]d[0-9]*", ENV{ID_SERIAL}=="?*", \
+KERNEL=="sd*|sr*|dasd*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", \
 	SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*[0-9]|dasd*[0-9]|cciss*p[0-9]*",		ENV{ID_SERIAL}=="?*", \
+KERNEL=="sd*|dasd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", \
 	SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
 
 ENV{DEVTYPE}=="disk",			ENV{ID_PATH}=="?*", \

Reply via email to