[systemd-devel] 60-persistent-storage.rules: add NVMe disks and partitions (again)

Per Bergqvist per at bst.lu
Thu May 14 00:10:40 PDT 2015


There was a request for addition of NVMe disks Feb 10 2014 by Harald Hoyer which was 
sort of rejected by Kay Sievers by referring to “we should find out what to do for nvme before
adding new users of scsi_id”.

More than a year later nothing has happened and recent commits actually branch out early
for nvme drives.

I have been using similar patches to Hal's albeit a little bit different.

+# NVMe
+KERNEL=="nvme*", ENV{ID_SCSI_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode"
+KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_SCSI_SERIAL}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_SCSI_SERIAL}"
+KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_SCSI_SERIAL}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_SCSI_SERIAL}-part%n"

I have found that the ID_SCSI_SERIAL is the most reliable since ID_SERIAL varies depending on systemd/driver/kernel versions.
(My primary use for the NVMe drives is zfs log and cache devices. I test the zfs pool with different OS:es so I need
the naming to be consistent over all targets OS:es).

One may argue as Kay that it is not a scsi bus, but I think that the NVMe is related close enough to use the
scsi_id, especially if considering the “NVM Express: SCSI Translation Reference” (http://www.nvmexpress.org/wp-content/uploads/NVM_Express_-_SCSI_Translation_Reference-1_4_20150116_Gold2.pdf).

There is definitely a need for nvme support in udev and I think 60-persistent-storage.rules is the correct place.

The only issue I can see is wether or not to use scsi_id or to introduce a new nvme_id utility.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150514/be5bcde8/attachment-0001.html>

More information about the systemd-devel mailing list