]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
portable: try to remove unit files even in a spurious state
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 29 May 2022 19:34:29 +0000 (04:34 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 29 May 2022 19:34:43 +0000 (04:34 +0900)
src/portable/portable.c

index c4f42f95007088393d3914199125dad2aa2a2a95..254d9f6abee8375010ab582af0d1be6c84cf0173 100644 (file)
@@ -1560,7 +1560,6 @@ int portable_detach(
 
         FOREACH_DIRENT(de, d, return log_debug_errno(errno, "Failed to enumerate '%s' directory: %m", where)) {
                 _cleanup_free_ char *marker = NULL;
-                UnitFileState state;
 
                 if (!unit_name_is_valid(de->d_name, UNIT_NAME_ANY))
                         continue;
@@ -1578,12 +1577,6 @@ int portable_detach(
                 if (r == 0)
                         continue;
 
-                r = unit_file_lookup_state(LOOKUP_SCOPE_SYSTEM, &paths, de->d_name, &state);
-                if (r < 0)
-                        return log_debug_errno(r, "Failed to determine unit file state of '%s': %m", de->d_name);
-                if (!IN_SET(state, UNIT_FILE_STATIC, UNIT_FILE_DISABLED, UNIT_FILE_LINKED, UNIT_FILE_RUNTIME, UNIT_FILE_LINKED_RUNTIME))
-                        return sd_bus_error_setf(error, BUS_ERROR_UNIT_EXISTS, "Unit file '%s' is in state '%s', can't detach.", de->d_name, unit_file_state_to_string(state));
-
                 r = unit_file_is_active(bus, de->d_name, error);
                 if (r < 0)
                         return r;