| # do not edit this file, it will be overwritten on update |
| |
| ACTION=="remove", GOTO="cdrom_end" |
| SUBSYSTEM!="block", GOTO="cdrom_end" |
| KERNEL!="sr[0-9]*|xvd*", GOTO="cdrom_end" |
| ENV{DEVTYPE}!="disk", GOTO="cdrom_end" |
| |
| # unconditionally tag device as CDROM |
| KERNEL=="sr[0-9]*", ENV{ID_CDROM}="1" |
| |
| # stop automatically any mount units bound to the device if the media eject |
| # button is pressed. |
| ENV{ID_CDROM}=="1", ENV{SYSTEMD_MOUNT_DEVICE_BOUND}="1" |
| |
| # media eject button pressed |
| ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end" |
| |
| # import device and media properties and lock tray to |
| # enable the receiving of media eject button events |
| IMPORT{program}="cdrom_id --lock-media $devnode" |
| |
| # ejecting a CD does not remove the device node, so mark the systemd device |
| # unit as inactive while there is no medium; this automatically cleans up of |
| # stale mounts after ejecting |
| ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" |
| |
| KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" |
| |
| LABEL="cdrom_end" |