On Tue, 19.05.15 10:30, Martin Pitt (martin.p...@ubuntu.com) wrote: > Hello Umut, > > Umut Tezduyar Lindskog [2015-05-19 8:23 +0200]: > > On Mon, May 18, 2015 at 11:02 PM, Lennart Poettering > > <lenn...@poettering.net> wrote: > > > The "tentative" state is nothing the system should continously leave > > > devices in. It's a state only used for very short time windows, before > > > udev is up, or when a pseudo device (like a loopback block device) is > > > created and immediately mounted. If you have booted up and see a > > > device in "tentative" state, then something is really *wrong*. > > Note that it's a permanent state in containers where you don't > actually have udev.
NO! Martin, as mentioned earlier: current systemd will not bother with device units at all in containers, and they hence will not be in "tentative" state either. If you run systemd git in a container and try to enqueue a job for a device you get this: # systemctl start dev-foobar.device Operation on or unit type of dev-foobar.device not supported on this system. # Moreover, systemd will not generate any .device dependencies either in this case. All this depends on /sys being mounted read-only. And that's the only scheme we support with systemd in containers. If you mount /sys writable anyway, then the fucked up .device situation is the least of your problems really. To make this clear: if *zero* interest in making systemd work in containers where /sys is writable. This is out of focus for us really. Or to say this a different way: if you leave /sys writable in a container, then we assume that you run in a scheme where /sys (and the related uevent netlink stuff) is fully virtualized, like it might be on some future kernel, where .device units and udevd would then make sense. But on the current kernel that's not the case, and to indicate that to systemd in the container you have to mount /sys read-only. > My very first patch avoided creating these device > units at all, to simplify state handling; but Lennart nack'ed this as > we want devices/mounts to exist uniformly on real iron and > containers, NO! As mentioned before and above: the way I see it .device units should *not* exist in containers, as the kernel doesn't virtualize devices for them. > which is certainly a valid point. So if we need the .devices at all, > they need to be "tentative", as they can't be "plugged" (not present > in the container /dev) nor "dead" (as that would immediately unmount > everything). NO! There will not be "tentative" nor "plugged" device units in containers, because there will be none at all! Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel