From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Hunt Date: Fri, 30 Sep 2011 08:29:49 +0000 Subject: udevd messages lost on exit? Message-Id: <4E857DFD.2060709@ubuntu.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Hi All, I'm investigating a problem in Ubuntu Oneiric where we think udev messages maybe be getting lost due to the way that we're stopping udevd: https://bugs.launchpad.net/ubuntu/+source/udev/+bug/818177 In summary, at the end of our initramfs, we are doing this: # Stop udevd, we'll miss a few events while we run init, but we catch up udevadm control --exit # Move /dev to the real filesystem mount -n -o move /dev ${rootmnt}/dev The problem is that most notably when using lvm2 the "--exit" call seems to be causing udev messages relating to the *rootfs* to be lost so that the system fails to boot. Looking at udevd.c, it does the following when requested to exit: /* discard queued events and kill workers */ event_queue_cleanup(udev, EVENT_QUEUED); worker_kill(udev, 0); I'm currently trying to debug what is left in the queue to get a better handle on this, but I am wondering if "udevadm control --exit" should request that udevd drain the queues rather than discarding the messages for our case. Is the reason the messages are discarded to avoid slowing down the boot coupled with the expectation that the caller will use "udevadm trigger" to catch up later? Kind regards, James.