summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO8
-rw-r--r--src/nspawn/nspawn.c11
2 files changed, 18 insertions, 1 deletions
diff --git a/TODO b/TODO
index 216dc9be0d..d629474c33 100644
--- a/TODO
+++ b/TODO
@@ -28,6 +28,14 @@ External:
Features:
+* Add PassEnvironment= setting to service units, to import select env vars from PID 1 into the service env block
+
+* nspawn: fix logic always print a final newline on output.
+ https://github.com/systemd/systemd/pull/272#issuecomment-113153176
+
+* make nspawn's --network-veth switch more powerful:
+ http://lists.freedesktop.org/archives/systemd-devel/2015-June/033121.html
+
* man: document that unless you use StandardError=null the shell >/dev/stderr won't work in shell scripts in services
* man: clarify that "machinectl show" shows different information than "machinectl status" (no cgroup tree, no IP addresses, ...)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index d1154de08a..4cf2d14ae2 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -1538,7 +1538,16 @@ static int setup_resolv_conf(const char *dest) {
r = copy_file("/etc/resolv.conf", where, O_TRUNC|O_NOFOLLOW, 0644, 0);
if (r < 0) {
- log_warning_errno(r, "Failed to copy /etc/resolv.conf to %s: %m", where);
+ /* If the file already exists as symlink, let's
+ * suppress the warning, under the assumption that
+ * resolved or something similar runs inside and the
+ * symlink points there.
+ *
+ * If the disk image is read-only, there's also no
+ * point in complaining.
+ */
+ log_full_errno(IN_SET(r, -ELOOP, -EROFS) ? LOG_DEBUG : LOG_WARNING, r,
+ "Failed to copy /etc/resolv.conf to %s: %m", where);
return 0;
}