linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* cd-tray immediately closed after it has been opened
@ 2008-07-27 19:19 Christian Krause
  2008-07-27 23:35 ` David Zeuthen
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Christian Krause @ 2008-07-27 19:19 UTC (permalink / raw)
  To: linux-hotplug

Hi,

A very annoying bug has been introduced in udev release 121:

In some distribution it is not possible to eject a CD or DVD anymore, 
because the cd tray is immediately closed after it has been opened:

http://bugs.gentoo.org/show_bug.cgi?id#0886
https://bugzilla.redhat.com/show_bug.cgi?idE3095


We have tracked down the problem:

udev 120: works
udev > 121: problem occurs

The following checkin introduced the odd behaviour:
41677cf51fb2c14aa512ecf9410e43eb35560408
"persistent device naming: also read unpartitioned media"
with the following change in 60-persistent-storage.rules:
----------------------------------------------------------
+# import filesystem metadata
+IMPORT{program}="vol_id --export $tempnode"
----------------------------------------------------------

The following happens:

- the CD is ejected (by user)
- a change event is generated:
UDEV  [1217184249.757495] change   
/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sr0 (block)
- the rule above triggers the execution of "vol_id --export ...sr0"
- vol_id opens the device with open(2), which causes the cd tray to be 
closed

Before this checkin, vol_id was only called for partitioned devices and 
so the CD tray stayed open.


I'm not an expert in writing udev rules, but I'm using now the following 
workaround:

diff --git a/rules/rules.d/60-persistent-storage.rules 
b/rules/rules.d/60-persistent-storage.rules
index 5ae0c7f..95eb1fd 100644
--- a/rules/rules.d/60-persistent-storage.rules
+++ b/rules/rules.d/60-persistent-storage.rules
@@ -52,6 +52,7 @@ ENV{DEVTYPE}="partition", ENV{ID_PATH}="?*", 
SYMLINK+="disk/by-path/$env{ID_PA

 # skip unpartitioned removable media devices from drivers which do not 
send "change" events
 ENV{DEVTYPE}="disk", KERNEL!="sd*|sr*", ATTR{removable}="1", 
GOTO="persistent_storage_end"
+ENV{DEVTYPE}="disk", KERNEL="sr*", ATTR{removable}="1", 
GOTO="persistent_storage_end"

 # import filesystem metadata
 IMPORT{program}="vol_id --export $tempnode"


If this patch is used, the vol_id call is omitted for sr* devices.

Sure, a drawback is, that you loose the "disk/by-label" link for CDs, 
but IMHO these features are mainly targetted for USB hard drives or 
something like this.


Best regards,
Christian Krause <chkr@plauener.de>
Ronald Wahl <rwahl@gmx.de>


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-08-04  6:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-27 19:19 cd-tray immediately closed after it has been opened Christian Krause
2008-07-27 23:35 ` David Zeuthen
2008-07-28  8:48 ` Christian Krause
2008-07-28 16:23 ` David Zeuthen
2008-07-30 17:27 ` Kay Sievers
2008-07-31  7:31 ` Christian Krause
2008-07-31  7:48 ` Kay Sievers
2008-08-01 19:23 ` David Zeuthen
2008-08-03 17:38 ` Christian Krause
2008-08-04  6:52 ` Kay Sievers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).