From: Zeal Jagannatha Date: Tue, 14 Nov 2017 07:11:41 +0000 (-0800) Subject: Fix error message when binding files (#7196) X-Git-Tag: v236~221 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ab0fc8711b5021c82a1c6c04d24a0805319afea4;p=thirdparty%2Fsystemd.git Fix error message when binding files (#7196) If you use machinectl to bind a file into a container, it responds with a confusing error message about a temporary directory not being a directory. I just swapped it to error with the source that was passed, rather than the tmpdir. It would also be nice to be able to bind files, but that's a separate issue (#7195). Before the change: root@epona /var/lib/sandbox $ cat bar/foo Hello world! root@epona /var/lib/sandbox $ machinectl bind testing /var/lib/sandbox/bar/foo /foo Failed to bind mount: Failed to overmount /tmp/propagate.W5TNsj/mount: Not a directory After the change: root@epona /var/lib/sandbox $ machinectl bind testing /var/lib/sandbox/bar/foo /foo Failed to bind mount: Failed to overmount /var/lib/sandbox/bar/foo: Not a directory --- diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index 36568b65ef2..3cb90be67d7 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -927,7 +927,7 @@ int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bu mount_tmp_created = true; if (mount(src, mount_tmp, NULL, MS_BIND, NULL) < 0) { - r = sd_bus_error_set_errnof(error, errno, "Failed to overmount %s: %m", mount_tmp); + r = sd_bus_error_set_errnof(error, errno, "Failed to mount %s: %m", src); goto finish; }