summaryrefslogtreecommitdiff
path: root/src/portable
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2022-11-23 16:06:48 +0000
committerLuca Boccassi <luca.boccassi@gmail.com>2022-11-23 23:02:07 +0100
commit80d95fcd6e1947a7887b96b22a32dbca115baac9 (patch)
treefe638f0546893304d720aaaf1c995fdf13962faa /src/portable
parent3f9b0e1343a814704485d27def77b7f025573d83 (diff)
downloadsystemd-80d95fcd6e1947a7887b96b22a32dbca115baac9.tar.gz
portable: add a few more useful debug log messages
When attaching and /etc/systemd/system.attached can't be created or used (eg: dead symlink) the logs are pretty much useless as even at debug level there's no indication of what is going wrong. Add some debug logs, and return a more specific error string over D-Bus.
Diffstat (limited to 'src/portable')
-rw-r--r--src/portable/portable.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/portable/portable.c b/src/portable/portable.c
index dd0f6d3d13..76af743771 100644
--- a/src/portable/portable.c
+++ b/src/portable/portable.c
@@ -1131,7 +1131,7 @@ static int attach_unit_file(
(void) mkdir_parents(where, 0755);
if (mkdir(where, 0755) < 0) {
if (errno != EEXIST)
- return -errno;
+ return log_debug_errno(errno, "Failed to create attach directory %s: %m", where);
} else
(void) portable_changes_add(changes, n_changes, PORTABLE_MKDIR, where, NULL);
@@ -1145,7 +1145,7 @@ static int attach_unit_file(
if (mkdir(dropin_dir, 0755) < 0) {
if (errno != EEXIST)
- return -errno;
+ return log_debug_errno(errno, "Failed to create drop-in directory %s: %m", dropin_dir);
} else
(void) portable_changes_add(changes, n_changes, PORTABLE_MKDIR, dropin_dir, NULL);
@@ -1392,7 +1392,7 @@ int portable_attach(
r = attach_unit_file(&paths, image->path, image->type, extension_images,
item, profile, flags, changes, n_changes);
if (r < 0)
- return r;
+ return sd_bus_error_set_errnof(error, r, "Failed to attach unit '%s': %m", item->name);
}
/* We don't care too much for the image symlink, it's just a convenience thing, it's not necessary for proper