mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
systemctl: when we want to know whether there's a native unit file, don't choke on ELOOP
ELOOP indicates that there's a symlink in /etc for a native unit file, and that's completely OK.
This commit is contained in:
parent
0bed31c103
commit
3c6d8e57e8
@ -5272,9 +5272,9 @@ static int enable_sysv_units(const char *verb, char **args) {
|
||||
continue;
|
||||
|
||||
j = unit_file_exists(arg_scope, &paths, name);
|
||||
if (j < 0)
|
||||
if (j < 0 && !IN_SET(j, -ELOOP, -ESHUTDOWN, -EADDRNOTAVAIL))
|
||||
return log_error_errno(j, "Failed to lookup unit file state: %m");
|
||||
found_native = j > 0;
|
||||
found_native = j != 0;
|
||||
|
||||
/* If we have both a native unit and a SysV script, enable/disable them both (below); for is-enabled,
|
||||
* prefer the native unit */
|
||||
|
@ -807,10 +807,10 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
|
||||
continue;
|
||||
|
||||
r = unit_file_exists(UNIT_FILE_SYSTEM, lp, name);
|
||||
if (r < 0) {
|
||||
if (r < 0 && !IN_SET(r, -ELOOP, -ESHUTDOWN, -EADDRNOTAVAIL)) {
|
||||
log_debug_errno(r, "Failed to detect whether %s exists, skipping: %m", name);
|
||||
continue;
|
||||
} else if (r > 0) {
|
||||
} else if (r != 0) {
|
||||
log_debug("Native unit for %s already exists, skipping.", name);
|
||||
continue;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user