All of lore.kernel.org
 help / color / mirror / Atom feed
* udevd messages lost on exit?
@ 2011-09-30  8:29 James Hunt
  2011-09-30  9:03 ` Kay Sievers
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: James Hunt @ 2011-09-30  8:29 UTC (permalink / raw)
  To: linux-hotplug

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.

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

end of thread, other threads:[~2011-09-30  9:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-30  8:29 udevd messages lost on exit? James Hunt
2011-09-30  9:03 ` Kay Sievers
2011-09-30  9:33 ` James Hunt
2011-09-30  9:44 ` Kay Sievers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.