diff options
author | Luca Boccassi <luca.boccassi@microsoft.com> | 2021-01-14 18:46:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-14 18:46:48 +0000 |
commit | d8434c523c95c8e4d7f547e2c95b4fbd52b12f74 (patch) | |
tree | 41ac798bdd8f44bd20f6d5da3ce645f5825c60cb | |
parent | 14f7d087ccc805c9c31d124164e47cf0118891ef (diff) | |
parent | b420e6f0ced5393db5337afe5bcfbd0f0f9cf291 (diff) | |
download | systemd-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.c | 4 | ||||
-rw-r--r-- | src/systemctl/systemctl-util.c | 15 |
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, ×tamp_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); |