diff --git a/src/libsystemd/sd-bus/bus-container.c b/src/libsystemd/sd-bus/bus-container.c index 40b0e8a947..e85a9eda2b 100644 --- a/src/libsystemd/sd-bus/bus-container.c +++ b/src/libsystemd/sd-bus/bus-container.c @@ -9,6 +9,7 @@ #include "fd-util.h" #include "namespace-util.h" #include "process-util.h" +#include "string-util.h" #include "util.h" int bus_container_connect_socket(sd_bus *b) { @@ -24,10 +25,15 @@ int bus_container_connect_socket(sd_bus *b) { assert(b->nspid > 0 || b->machine); if (b->nspid <= 0) { + log_debug("sd-bus: connecting bus%s%s to machine %s...", + b->description ? " " : "", strempty(b->description), b->machine); + r = container_get_leader(b->machine, &b->nspid); if (r < 0) return r; - } + } else + log_debug("sd-bus: connecting bus%s%s to namespace of PID "PID_FMT"...", + b->description ? " " : "", strempty(b->description), b->nspid); r = namespace_open(b->nspid, &pidnsfd, &mntnsfd, NULL, &usernsfd, &rootfd); if (r < 0) diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c index de36a1f278..1a040157f4 100644 --- a/src/libsystemd/sd-bus/bus-socket.c +++ b/src/libsystemd/sd-bus/bus-socket.c @@ -885,6 +885,13 @@ int bus_socket_connect(sd_bus *b) { assert(b->output_fd < 0); assert(b->sockaddr.sa.sa_family != AF_UNSPEC); + if (DEBUG_LOGGING) { + _cleanup_free_ char *pretty = NULL; + (void) sockaddr_pretty(&b->sockaddr.sa, b->sockaddr_size, false, true, &pretty); + log_debug("sd-bus: starting bus%s%s by connecting to %s...", + b->description ? " " : "", strempty(b->description), strnull(pretty)); + } + b->input_fd = socket(b->sockaddr.sa.sa_family, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); if (b->input_fd < 0) return -errno; @@ -956,6 +963,9 @@ int bus_socket_exec(sd_bus *b) { assert(b->exec_path); assert(b->busexec_pid == 0); + log_debug("sd-bus: starting bus%s%s with %s...", + b->description ? " " : "", strempty(b->description), b->exec_path); + r = socketpair(AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0, s); if (r < 0) return -errno; diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 015a215c42..c602088cf8 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -1155,6 +1155,16 @@ static int bus_start_fd(sd_bus *b) { assert(b->input_fd >= 0); assert(b->output_fd >= 0); + if (DEBUG_LOGGING) { + _cleanup_free_ char *pi = NULL, *po = NULL; + (void) fd_get_path(b->input_fd, &pi); + (void) fd_get_path(b->output_fd, &po); + log_debug("sd-bus: starting bus%s%s on fds %d/%d (%s, %s)...", + b->description ? " " : "", strempty(b->description), + b->input_fd, b->output_fd, + pi ?: "???", po ?: "???"); + } + r = fd_nonblock(b->input_fd, true); if (r < 0) return r;