udevd messages lost on exit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux