Jeremy Katz wrote:
On Tue, 2008-04-15 at 00:51 +0200, Alan Pevec wrote:
> mkliveinitrd: wait for udev queue to clear before killing udevd
>
> udevd doesn't seem to cleanup on kill, so let it clear events from
/dev/.udev/queue/
>
> Or should this be filed as udevd bug (cleanup .udev/queue/ on startup and/or kill) ?
We've already done one udevsettle for 30 seconds -- how does this any
more guarantee that things are cleared? I suspect this should probably
We do dmsetup etc. in the meantime so more udev events appear. And if all is good, it
won't hang 30 sec, it continues immediately.
btw, we have unconditional 5s sleep here:
http://git.fedorahosted.org/git/?p=mkinitrd;a=blob;f=mkliveinitrd;h=84fcc...
Can we remove that?
be handled in udev. But what exactly are you seeing as the symptom?
start_udev after switching root times out (after default 180s) on its udevsettle and after
boot is finished, I still see an event /devices/virtual/block/dm-1 in exported queue
/dev/.udev/queue/ - I assume this is b/c we killed previous instance of udevd before event
could be cleared.
It's a race condition - for me it shows up when PXE booting oVirt liveCD (created with
livecd-iso-to-pxeboot), never when booting the same ISO directly (both F9 KVM guests on F8
host). If I add eshell, which pauses just before killing udevd, event is cleared.
I agree this might be seen as a workaround but killing udevd just like that doesn't
seem polite.
Then again udevd should prolly clear its exported queue on startup, so I'm CCing
Harald to weigh in.