diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-10-08 18:33:11 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-11-12 17:56:49 +0100 |
commit | d073dea0a89c271fc4a769d5b3b2db395aa0239a (patch) | |
tree | 39aba2997495fae648a2756e3794cfde7fe943ca /src/shared/install.c | |
parent | d25e100bd6def67f302e43794869b651e780bffa (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/install.c')
-rw-r--r-- | src/shared/install.c | 20 |
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) |