From: Harald Hoyer Date: Thu, 25 Apr 2013 08:35:14 +0000 (+0200) Subject: dbus-manager.c: log error, why switch-root is refused X-Git-Tag: v203~67 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=17f5e4577b774f8df87c7fc6068b6b32bf5d44f0;hp=910003d022ed299b50ab36228732bb74a23d46ba dbus-manager.c: log error, why switch-root is refused --- diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 1f5a7d94f..56b02a1cf 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -1503,8 +1503,11 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, } /* Safety check */ - if (isempty(switch_root_init)) + if (isempty(switch_root_init)) { good = path_is_os_tree(switch_root); + if (!good) + log_error("Not switching root: %s does not seem to be an OS tree. /etc/os-release is missing.", switch_root); + } else { _cleanup_free_ char *p = NULL; @@ -1513,6 +1516,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, goto oom; good = access(p, X_OK) >= 0; + if (!good) + log_error("Not switching root: cannot execute new init %s", p); } if (!good) return bus_send_error_reply(connection, message, NULL, -EINVAL);