summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-10-08 18:33:11 +0200
committerLennart Poettering <lennart@poettering.net>2015-11-12 17:56:49 +0100
commitd073dea0a89c271fc4a769d5b3b2db395aa0239a (patch)
tree39aba2997495fae648a2756e3794cfde7fe943ca /src/shared
parentd25e100bd6def67f302e43794869b651e780bffa (diff)
install: never log from install functions
Instead, let the caller do that. Fix this by moving masked unit messages into the caller, by returning a clear error code (ESHUTDOWN) by which this may be detected.
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/install.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/shared/install.c b/src/shared/install.c
index e1e7c39f6e..427e228c9d 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -1501,12 +1501,9 @@ int unit_file_add_dependency(
state = unit_file_get_state(scope, root_dir, *i);
if (state < 0)
- return log_error_errno(state, "Failed to get unit file state for %s: %m", *i);
-
- if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
- log_error("Failed to enable unit: Unit %s is masked", *i);
- return -EOPNOTSUPP;
- }
+ return state;
+ if (IN_SET(state, UNIT_FILE_MASKED, UNIT_FILE_MASKED_RUNTIME))
+ return -ESHUTDOWN;
r = install_info_add_auto(&c, *i);
if (r < 0)
@@ -1577,14 +1574,11 @@ int unit_file_enable(
STRV_FOREACH(i, files) {
UnitFileState state;
- /* We only want to know if this unit is masked, so we ignore
- * errors from unit_file_get_state, deferring other checks.
- * This allows templated units to be enabled on the fly. */
state = unit_file_get_state(scope, root_dir, *i);
- if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
- log_error("Failed to enable unit: Unit %s is masked", *i);
- return -EOPNOTSUPP;
- }
+ if (state < 0)
+ return state;
+ if (IN_SET(state, UNIT_FILE_MASKED, UNIT_FILE_MASKED_RUNTIME))
+ return -ESHUTDOWN;
r = install_info_add_auto(&c, *i);
if (r < 0)