> On Jun 17, 2015, at 1:07, David Herrmann <[email protected]> wrote: > > Hi > > On Tue, Jun 16, 2015 at 11:39 PM, Johannes Ernst > <[email protected]> wrote: >> I have a root filesystem in directory foo/ >> It has symlink >> foo/etc/resolv.conf -> /run/systemd/resolve/resolv.conf >> >> When I’m booting the container: >> sudo systemd-nspawn --directory foo --boot >> >> I’m getting: >> Failed to copy /etc/resolv.conf to /home/…./foo/etc/resolv.conf: Too many >> levels of symbolic links >> >> This message makes very little sense to me. Why is a copy necessary? and is >> that indeed /etc/resolv.conf or foo/etc/resolv.conf? >> >> If I boot with -n, I don’t seem to get the error. > > If you pass --private-network / -n, then we never touch resolv.conf. > In all other cases, we copy resolv.conf from the host into the > container. We usually assume that if your container runs in the same > network as the host, then the container must also use the DNS features > of the host. > > The error code of "Too many levels of symbolic links" is ELOOP. This > is returned by open() in many cases. In this example, it is returned > because we passed O_NOFOLLOW to open(), but the final part of the path > is a symlink. In that case, the kernel returns ELOOP to tell us that > we're dealing with a symlink. > > Maybe Lennart or Tom have some comments on that? Your example use-case > (resolved in the container, even with shared network namespace) looks > valid, though odd. I mean, what's the reason not to use "-n”?
Well, if there isn’t a reason, why does the mode exist? > Anyway, > maybe we can deal with ELOOP in setup_resolv_conf() and just print a > big fat warning? > But lets people who know that stuff comment first.. > > Thanks > David _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
