Bug 566535
| Summary: | udev appears to break CD-R burning | |||
|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | nayfield <rod> | |
| Component: | udev | Assignee: | Harald Hoyer <harald> | |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
| Severity: | high | Docs Contact: | ||
| Priority: | low | |||
| Version: | 12 | CC: | al, harald, jonathan, kay.sievers, kzak, mishu | |
| Target Milestone: | --- | Keywords: | Reopened | |
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | udev-145-20.fc12 | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 566581 582557 (view as bug list) | Environment: | ||
| Last Closed: | 2010-04-23 22:58:24 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Attachments: | ||||
|
Description
nayfield
2010-02-18 18:47:33 UTC
Created attachment 394964 [details]
Run with udevd killed
Created attachment 394968 [details]
commented log from udevadm monitor --udev --property --kernel
Looking at udev rules I do see that everything gets passed to hal. However, the issue still occurs after `service haldaemon stop` it has to do with 60-cdrom_id.rules. It seems that cdrom_id runs against the cd burner at the point where burning starts in the udev log I attached. I can burn CDs / DVDs by creating an empty file with this name in /etc/udev/rules.d digging around with systemtap it seems there are several things that open /dev/sr0 while wodim is burning. I then disabled 60-persistent-storage.rules and ran them during burns to see what was causing the problem. Summary: Things that come from udev which read from sr0 that don't honor O_EXCL: blkid - kills burns instantly devkit-disks-part-id - kills burns instantly cdrom_id - doesn't kill burns scsi_id - doesn't kill burns hald-addon-storage opens sr0 every second or so but uses O_EXCL and thus doesn't interfere. Opened bz 566581 against util-linux-ng for the blkid issue. Thanks for the detailed bug report! @ Kay Sievers, Told you! :-) Harald, any thoughts here? There are plenty of ways to fix it, I bet you like the last one: . make blkid honor O_EXCL (another package) and devkit-disks-part-id . make the kernel force O_EXCL on non EXCL opens like on a floppy (I know that this won't happen, just putting it down) . make udev rules not do this stuff when cd-r is open EXCL . make udev rules not do this detection at all for cd-roms (since haldaemon does this for runlevel 5 users, and those in runlevel 3 probably don't want automatic mount of cd's anyway) (In reply to comment #8) > Harald, any thoughts here? > > There are plenty of ways to fix it, I bet you like the last one: > > . make blkid honor O_EXCL (another package) and devkit-disks-part-id > . make the kernel force O_EXCL on non EXCL opens like on a floppy > (I know that this won't happen, just putting it down) > . make udev rules not do this stuff when cd-r is open EXCL > . make udev rules not do this detection at all for cd-roms > (since haldaemon does this for runlevel 5 users, and those in runlevel 3 > probably don't want automatic mount of cd's anyway) I already have a patch for blkid, which adds an option to open the device O_EXCL and O_NONBLOCK. The patch also checks, if the device is already mounted and then drop the O_EXCL. Patience :) udev-145-16.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/udev-145-16.fc12 This is the first part of O_EXCL in udev. The second part will be provided, if blkid ships with an option to use O_EXCL. udev-145-19.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update udev'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/udev-145-19.fc12 udev-145-19.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report. still not complete, blkid needs O_EXCL 2.6.32.10-90.fc12.x86_64 #1 SMP with udev-145-19.fc12.x86_64 My actions Burning Fedora 12 DVD (i386 or x86_64) at 12x (in 16x burner) Result After burning several DVDs (1 or 2) the newly burned DVD does not get mounted. It shows up ok for a few times, then not at all. This is reproducible after reboot. Subsequently I can manually eject using the button on the drive. Then when placing blank disc in drive, it does not show up on desktop or in any place. The drive in /dev shows as unmounted. BUT ... I can still burn a disc using Brasero ! It fails a disc check though. Expected result Disc shows up on Desktop or in /dev Work around Run start_udev from a terminal, the blank or burned disc shows up instantly. I'm not sure if this is related, but I can't eject or unmount any discs by right clicking and using the context menu, I get a crash. This is why I only ever eject using the drive controls. I set Brasero to eject when finished but it never does, and never has. I burn a lot of discs as I am in Freemedia group. (In reply to comment #15) > I'm not sure if this is related, but I can't eject or unmount any discs by > right clicking and using the context menu, I get a crash. crash? which app crashes? do you have any coredumps? I've just tested again and eject appears to work fine now ! Typical... I haven't used it for a while because of the crashes. I did use the auto reporting tool to submit the reports when it happened before. I've logged the udev events when loading or unloading blank and burned DVDs which still do not get mounted until start_udev is executed. Created attachment 405031 [details]
udevadm monitor --udev --property --kernel logs for various DVD loading stages
Created attachment 405032 [details]
udevadm monitor --udev --property --kernel logs for various DVD loading stages
Sorry, meant to add all logs. Now in tar.gz
The order of the logs is : load_blank_dvd.log run_start_udev_on_blank_dvd.log manual_eject_blank_dvd.log load_burned_dvd.log run_start_udev_on_burned_dvd.log context_menu_eject_burned_dvd.log Just to recap, nothing shows up on the desktop or in /dev until start_udev is run. udev-145-20.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/udev-145-20.fc12 udev-145-20.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update udev'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/udev-145-20.fc12 Just some feedback. Since upgrading to udev-145-20.fc12 I have had no problems with udev and loading dvds. thanks Alan udev-145-20.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report. |