On Fri, Jul 12, 2013 at 04:10:35PM +0200, Kay Sievers wrote: > On Fri, Jul 12, 2013 at 3:51 PM, Daniel P. Berrange <[email protected]> > wrote: > > We're hitting a problem in libvirt where 'udevadm settle' will get stuck > > in a loop until it eventually times out. Eventually we realized this > > happens when we have any LXC containers active with veth devices in a > > separate network namespace. > > > > It is quite easy to reproduce the hang. In one terminal session start > > a new network namespace: > > > > # unshare --net /bin/sh > > sh-4.2# echo $$ > > 30718 > > > > Now in another terminal create a veth pair, and move one of the pair > > into the network namespace: > > > > # ip link add name FOO type veth peer name BAR > > # ip link set FOO netns 30718 > > > > Now udevadm will hang: > > > > # udevadm settle > > > > until it times out after 2 minutes. > > > > Looking at the udevadm code I discovered that > > > > udev_queue_get_queue_is_empty > > > > will never return true if there is any veth device that has been moved > > into a separate network namespace. > > > > Adding some debugging I can see that the variable 'seqnum_udev' is > > forever less than 'seqnum_kernel' in this scenario. > > > > Any ideas on how to solve this problem with udevadm settle ? > > Hmm, we just don't really support running udev inside of containers. > Hotplug and full OS containers have did never get any real attention > from udev running inside container setups.
This example is *not* running udev in the container. The 'udevadm settle' command above is being run in the primary OS. IOW, the fact that the container has a network namespace with a veth, is breaking udevadm in the host. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
