Merge lp:~gandelman-a/ubuntu/oneiric/udev/lp818177 into lp:ubuntu/oneiric/udev

Proposed by Adam Gandelman
Status: Work in progress
Proposed branch: lp:~gandelman-a/ubuntu/oneiric/udev/lp818177
Merge into: lp:ubuntu/oneiric/udev
Diff against target: 29 lines (+11/-0)
2 files modified
debian/changelog (+7/-0)
debian/udev.initramfs-bottom (+4/-0)
To merge this branch: bzr merge lp:~gandelman-a/ubuntu/oneiric/udev/lp818177
Reviewer Review Type Date Requested Status
Steve Langasek Disapprove
Ubuntu branches Pending
Review via email: mp+73714@code.launchpad.net

Description of the change

This seems to fix Bug #818177 as well as other possibly related race conditions after init-bottom.

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) wrote :

This is not a fix for the race conditions. It reduces the race window, but the fact that there's a race at all means that there's a more fundamental problem here. 'udevadm settle' only guarantees that currently-in-process events will be fully handled before it returns, but calling 'udevadm control --exit' should *already* provide this guarantee - and if it doesn't, all you've done is move the race, because when we do call 'udevadm control --exit' a few milliseconds later, any new events that are in process at *that* point will suffer from the same race.

We need to understand why 'udevadm control --exit' isn't sufficient and fix that at its source, because 'udevadm settle' doesn't give us the guarantees we need.

review: Disapprove

Unmerged revisions

207. By Adam Gandelman

debian/udev.initramfs-bottom: Allow udev settle before stopping it
(LP: #818177)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2011-08-23 06:58:23 +0000
3+++ debian/changelog 2011-09-01 19:24:25 +0000
4@@ -1,3 +1,10 @@
5+udev (173-0ubuntu4) UNRELEASED; urgency=low
6+
7+ * debian/udev.initramfs-bottom: Allow udev settle before stopping it
8+ (LP: #818177)
9+
10+ -- Adam Gandelman <adamg@canonical.com> Thu, 01 Sep 2011 12:03:18 -0700
11+
12 udev (173-0ubuntu3) oneiric; urgency=low
13
14 * Include input_id in the initramfs to prevent errors when enumerating
15
16=== modified file 'debian/udev.initramfs-bottom'
17--- debian/udev.initramfs-bottom 2011-06-28 17:50:21 +0000
18+++ debian/udev.initramfs-bottom 2011-09-01 19:24:25 +0000
19@@ -16,6 +16,10 @@
20 ;;
21 esac
22
23+. /scripts/functions
24+
25+# Let udev settle before stopping it. (LP #818177)
26+wait_for_udev 10
27
28 # Stop udevd, we'll miss a few events while we run init, but we catch up
29 udevadm control --exit

Subscribers

People subscribed via source and target branches