summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@microsoft.com>2021-01-14 18:46:48 +0000
committerGitHub <noreply@github.com>2021-01-14 18:46:48 +0000
commitd8434c523c95c8e4d7f547e2c95b4fbd52b12f74 (patch)
tree41ac798bdd8f44bd20f6d5da3ce645f5825c60cb
parent14f7d087ccc805c9c31d124164e47cf0118891ef (diff)
parentb420e6f0ced5393db5337afe5bcfbd0f0f9cf291 (diff)
downloadsystemd-d8434c523c95c8e4d7f547e2c95b4fbd52b12f74.tar.gz
Merge pull request #18245 from poettering/unit-file-install-fixes
minor unit file install fixes
-rw-r--r--src/shared/unit-file.c4
-rw-r--r--src/systemctl/systemctl-util.c15
2 files changed, 11 insertions, 8 deletions
diff --git a/src/shared/unit-file.c b/src/shared/unit-file.c
index 4c307199e6..f27352905d 100644
--- a/src/shared/unit-file.c
+++ b/src/shared/unit-file.c
@@ -262,7 +262,7 @@ int unit_file_build_name_map(
* If yes, do nothing. */
if (cache_timestamp_hash &&
lookup_paths_timestamp_hash_same(lp, *cache_timestamp_hash, &timestamp_hash))
- return 0;
+ return 0;
/* The timestamp hash is now set based on the mtimes from before when we start reading files.
* If anything is modified concurrently, we'll consider the cache outdated. */
@@ -511,7 +511,7 @@ int unit_file_find_fragment(
r = unit_name_template(unit_name, &template);
if (r < 0)
- return log_error_errno(r, "Failed to determine template name: %m");
+ return log_debug_errno(r, "Failed to determine template name: %m");
r = unit_ids_map_get(unit_ids_map, template, &fragment);
if (r < 0 && !IN_SET(r, -ENOENT, -ENXIO))
diff --git a/src/systemctl/systemctl-util.c b/src/systemctl/systemctl-util.c
index 9713fce7af..a854107cc8 100644
--- a/src/systemctl/systemctl-util.c
+++ b/src/systemctl/systemctl-util.c
@@ -439,12 +439,15 @@ int unit_find_paths(
/**
* Finds where the unit is defined on disk. Returns 0 if the unit is not found. Returns 1 if it is
* found, and sets:
+ *
* - the path to the unit in *ret_frament_path, if it exists on disk,
+ *
* - and a strv of existing drop-ins in *ret_dropin_paths, if the arg is not NULL and any dropins
* were found.
*
* Returns -ERFKILL if the unit is masked, and -EKEYREJECTED if the unit file could not be loaded for
- * some reason (the latter only applies if we are going through the service manager).
+ * some reason (the latter only applies if we are going through the service manager). As special
+ * exception it won't log for these two error cases.
*/
assert(unit_name);
@@ -474,13 +477,13 @@ int unit_find_paths(
return log_error_errno(r, "Failed to get LoadState: %s", bus_error_message(&error, r));
if (streq(load_state, "masked"))
- return -ERFKILL;
+ return -ERFKILL; /* special case: no logging */
if (streq(load_state, "not-found")) {
r = 0;
- goto not_found;
+ goto finish;
}
if (!STR_IN_SET(load_state, "loaded", "bad-setting"))
- return -EKEYREJECTED;
+ return -EKEYREJECTED; /* special case: no logging */
r = sd_bus_get_property_string(
bus,
@@ -517,7 +520,7 @@ int unit_find_paths(
r = unit_file_find_fragment(*cached_id_map, *cached_name_map, unit_name, &_path, &names);
if (r < 0)
- return r;
+ return log_error_errno(r, "Failed to find fragment for '%s': %m", unit_name);
if (_path) {
path = strdup(_path);
@@ -534,6 +537,7 @@ int unit_find_paths(
}
}
+ finish:
if (isempty(path)) {
*ret_fragment_path = NULL;
r = 0;
@@ -550,7 +554,6 @@ int unit_find_paths(
*ret_dropin_paths = NULL;
}
- not_found:
if (r == 0 && !arg_force)
log_error("No files found for %s.", unit_name);