From ab0fc8711b5021c82a1c6c04d24a0805319afea4 Mon Sep 17 00:00:00 2001 From: Zeal Jagannatha Date: Mon, 13 Nov 2017 23:11:41 -0800 Subject: [PATCH] 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 --- src/machine/machine-dbus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } -- 2.47.3