systemctl: downgrade log level of ECONNREFUSED from system dbus.service
To suppress log message when 'systemctl poweroff' or friends invoked in rescue shell, which does not have dbus.service.
This commit is contained in:
@@ -66,7 +66,7 @@ int logind_reboot(enum action a) {
|
||||
if (!actions[a])
|
||||
return -EINVAL;
|
||||
|
||||
r = acquire_bus(BUS_FULL, &bus);
|
||||
r = acquire_bus_full(BUS_FULL, /* graceful = */ true, &bus);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -151,7 +151,7 @@ int logind_check_inhibitors(enum action a) {
|
||||
if (arg_transport != BUS_TRANSPORT_LOCAL)
|
||||
return 0;
|
||||
|
||||
r = acquire_bus(BUS_FULL, &bus);
|
||||
r = acquire_bus_full(BUS_FULL, /* graceful = */ true, &bus);
|
||||
if (r == -ECONNREFUSED && geteuid() == 0)
|
||||
return 0; /* When D-Bus is not running, allow root to force a shutdown. E.g. when running at
|
||||
* the emergency console. */
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
static sd_bus *buses[_BUS_FOCUS_MAX] = {};
|
||||
|
||||
int acquire_bus(BusFocus focus, sd_bus **ret) {
|
||||
int acquire_bus_full(BusFocus focus, bool graceful, sd_bus **ret) {
|
||||
int r;
|
||||
|
||||
assert(focus < _BUS_FOCUS_MAX);
|
||||
@@ -54,7 +54,8 @@ int acquire_bus(BusFocus focus, sd_bus **ret) {
|
||||
else
|
||||
r = bus_connect_transport(arg_transport, arg_host, arg_runtime_scope, &buses[focus]);
|
||||
if (r < 0)
|
||||
return bus_log_connect_error(r, arg_transport, arg_runtime_scope);
|
||||
return bus_log_connect_full(graceful && focus == BUS_FULL && r == -ECONNREFUSED ? LOG_DEBUG : LOG_ERR,
|
||||
r, arg_transport, arg_runtime_scope);
|
||||
|
||||
(void) sd_bus_set_allow_interactive_authorization(buses[focus], arg_ask_password);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,10 @@ typedef enum BusFocus {
|
||||
_BUS_FOCUS_MAX
|
||||
} BusFocus;
|
||||
|
||||
int acquire_bus(BusFocus focus, sd_bus **ret);
|
||||
int acquire_bus_full(BusFocus focus, bool graceful, sd_bus **ret);
|
||||
static inline int acquire_bus(BusFocus focus, sd_bus **ret) {
|
||||
return acquire_bus_full(focus, false, ret);
|
||||
}
|
||||
void release_busses(void);
|
||||
|
||||
void ask_password_agent_open_maybe(void);
|
||||
|
||||
Reference in New Issue
Block a user