From: Kay Sievers Date: Mon, 30 Jan 2012 14:08:45 +0000 (+0100) Subject: extras: cdrom_id - create /dev/cdrom and conditionally /dev/dvd for sr0 X-Git-Tag: 181~7 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=19b66dc57cce27175ff421c4c3a37e4a491b9c01 extras: cdrom_id - create /dev/cdrom and conditionally /dev/dvd for sr0 Udev does no longer automatically create udev rules in /etc from the device hotplug path. No device name reservation will happen anymore; this model creates too many problems for setups with many device changes or media which is booted on different hardware. Enumerated device names which are based on device discovery order or on persistent on-disk name reservation will in general not be supported by udev in the future. It is a problem that can not be solved properly, and it always creates new problems at the same time it tries to solve the original one. Udev will no longer pretend it can solve these issues, and people should switch to available alternatives which provide the far better compromise. From now on, udev will only create /dev/cdrom for the first optical drive, and if the drive is capable /dev/dvd. No other devices will get any compatibility symlinks or enumerated device names like cdrom1, cdrom2, and so on. The /dev/cdrom and /dev/dvd links have by default a negative link priority, which will cause them to be overwritten by any other device which clains the same names with already existing udev rules. If stable device names are needed, the /dev/disk/by-id/ links, which uniquely identify a specific piece of hardware should be used. The links usually contain a device serial number and the link names will not depend on device discovery order. If completely identical devices with identical or no serial number need to be handled at the same time, the /dev/disk/by-path/ links can be used. These links depend on the physical port which is used to connect the device. It will change when the same device is moved to a different port or host adapter. If custom names are needed, custom udev rules which match on specific device properties need to be added by the administrator. --- diff --git a/src/extras/cdrom_id/60-cdrom_id.rules b/src/extras/cdrom_id/60-cdrom_id.rules index 353f522b0..25e049a2f 100644 --- a/src/extras/cdrom_id/60-cdrom_id.rules +++ b/src/extras/cdrom_id/60-cdrom_id.rules @@ -15,4 +15,7 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr # enable the receiving of media eject button events IMPORT{program}="cdrom_id --lock-media $devnode" +KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" +KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" + LABEL="cdrom_end"