This patch adds a by-id symlink to persistent memory namespace if it
exports a uuid attribute. The result looks like the following example:
# ls -l /dev/disk/by-id/*
lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-
206dcdfe-69b7-4e86-a01b-
f540621ce62e -> ../../pmem1.2
lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-
73840bf1-4e74-4ba4-a9c8-
8248934c07c8 -> ../../pmem1.1
lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-
8137bdfd-3c4d-4b26-b326-
21da3d4cd4e5 -> ../../pmem1.4
lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-
f43d1b6e-3300-46cb-8afc-
06d66a7c16f6 -> ../../pmem1.3
Signed-off-by: Keith Busch <keith.busch@intel.com>
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+# PMEM devices
+KERNEL=="pmem*", ENV{DEVTYPE}=="disk", ATTRS{uuid}=="?*", SYMLINK+="disk/by-id/pmem-$attr{uuid}"
+
# FireWire
KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"