teknoraver / rpms / systemd

Forked from rpms/systemd 3 months ago
Clone

Blame SOURCES/0153-shared-install-consistently-use-lp-as-the-name-for-t.patch

594167
From a2632eca864670f7a88e1a81947a9e726282e531 Mon Sep 17 00:00:00 2001
594167
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
594167
Date: Wed, 2 Mar 2022 17:17:39 +0100
594167
Subject: [PATCH] shared/install: consistently use 'lp' as the name for the
594167
 LookupPaths instance
594167
594167
Most of the codebase does this. Here we were using 'p' or 'paths'
594167
instead. Those names are very generic and not good for a "global-like"
594167
object like the LookupPaths instance. And we also have 'path' variable,
594167
and it's confusing to have 'path' and 'paths' in the same function that
594167
are unrelated.
594167
594167
Also pass down LookupPaths* lower in the call stack, in preparation for
594167
future changes.
594167
594167
(cherry picked from commit c3e7fba07c19f232f5945c07e7cc730986615adf)
594167
594167
Related: #2082131
594167
---
594167
 src/shared/install.c | 427 +++++++++++++++++++++----------------------
594167
 1 file changed, 212 insertions(+), 215 deletions(-)
594167
594167
diff --git a/src/shared/install.c b/src/shared/install.c
594167
index 8f1af755fa..c6cbe96fdb 100644
594167
--- a/src/shared/install.c
594167
+++ b/src/shared/install.c
594167
@@ -98,7 +98,7 @@ static const char *const unit_file_type_table[_UNIT_FILE_TYPE_MAX] = {
594167
 
594167
 DEFINE_PRIVATE_STRING_TABLE_LOOKUP_TO_STRING(unit_file_type, UnitFileType);
594167
 
594167
-static int in_search_path(const LookupPaths *p, const char *path) {
594167
+static int in_search_path(const LookupPaths *lp, const char *path) {
594167
         _cleanup_free_ char *parent = NULL;
594167
 
594167
         assert(path);
594167
@@ -107,19 +107,16 @@ static int in_search_path(const LookupPaths *p, const char *path) {
594167
         if (!parent)
594167
                 return -ENOMEM;
594167
 
594167
-        return path_strv_contains(p->search_path, parent);
594167
+        return path_strv_contains(lp->search_path, parent);
594167
 }
594167
 
594167
-static const char* skip_root(const LookupPaths *p, const char *path) {
594167
-        char *e;
594167
-
594167
-        assert(p);
594167
+static const char* skip_root(const char *root_dir, const char *path) {
594167
         assert(path);
594167
 
594167
-        if (!p->root_dir)
594167
+        if (!root_dir)
594167
                 return path;
594167
 
594167
-        e = path_startswith(path, p->root_dir);
594167
+        const char *e = path_startswith(path, root_dir);
594167
         if (!e)
594167
                 return NULL;
594167
 
594167
@@ -134,52 +131,52 @@ static const char* skip_root(const LookupPaths *p, const char *path) {
594167
         return e;
594167
 }
594167
 
594167
-static int path_is_generator(const LookupPaths *p, const char *path) {
594167
+static int path_is_generator(const LookupPaths *lp, const char *path) {
594167
         _cleanup_free_ char *parent = NULL;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         parent = dirname_malloc(path);
594167
         if (!parent)
594167
                 return -ENOMEM;
594167
 
594167
-        return path_equal_ptr(parent, p->generator) ||
594167
-               path_equal_ptr(parent, p->generator_early) ||
594167
-               path_equal_ptr(parent, p->generator_late);
594167
+        return path_equal_ptr(parent, lp->generator) ||
594167
+               path_equal_ptr(parent, lp->generator_early) ||
594167
+               path_equal_ptr(parent, lp->generator_late);
594167
 }
594167
 
594167
-static int path_is_transient(const LookupPaths *p, const char *path) {
594167
+static int path_is_transient(const LookupPaths *lp, const char *path) {
594167
         _cleanup_free_ char *parent = NULL;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         parent = dirname_malloc(path);
594167
         if (!parent)
594167
                 return -ENOMEM;
594167
 
594167
-        return path_equal_ptr(parent, p->transient);
594167
+        return path_equal_ptr(parent, lp->transient);
594167
 }
594167
 
594167
-static int path_is_control(const LookupPaths *p, const char *path) {
594167
+static int path_is_control(const LookupPaths *lp, const char *path) {
594167
         _cleanup_free_ char *parent = NULL;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         parent = dirname_malloc(path);
594167
         if (!parent)
594167
                 return -ENOMEM;
594167
 
594167
-        return path_equal_ptr(parent, p->persistent_control) ||
594167
-               path_equal_ptr(parent, p->runtime_control);
594167
+        return path_equal_ptr(parent, lp->persistent_control) ||
594167
+               path_equal_ptr(parent, lp->runtime_control);
594167
 }
594167
 
594167
-static int path_is_config(const LookupPaths *p, const char *path, bool check_parent) {
594167
+static int path_is_config(const LookupPaths *lp, const char *path, bool check_parent) {
594167
         _cleanup_free_ char *parent = NULL;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         /* Note that we do *not* have generic checks for /etc or /run in place, since with
594167
@@ -193,21 +190,21 @@ static int path_is_config(const LookupPaths *p, const char *path, bool check_par
594167
                 path = parent;
594167
         }
594167
 
594167
-        return path_equal_ptr(path, p->persistent_config) ||
594167
-               path_equal_ptr(path, p->runtime_config);
594167
+        return path_equal_ptr(path, lp->persistent_config) ||
594167
+               path_equal_ptr(path, lp->runtime_config);
594167
 }
594167
 
594167
-static int path_is_runtime(const LookupPaths *p, const char *path, bool check_parent) {
594167
+static int path_is_runtime(const LookupPaths *lp, const char *path, bool check_parent) {
594167
         _cleanup_free_ char *parent = NULL;
594167
         const char *rpath;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         /* Everything in /run is considered runtime. On top of that we also add
594167
          * explicit checks for the various runtime directories, as safety net. */
594167
 
594167
-        rpath = skip_root(p, path);
594167
+        rpath = skip_root(lp->root_dir, path);
594167
         if (rpath && path_startswith(rpath, "/run"))
594167
                 return true;
594167
 
594167
@@ -219,21 +216,21 @@ static int path_is_runtime(const LookupPaths *p, const char *path, bool check_pa
594167
                 path = parent;
594167
         }
594167
 
594167
-        return path_equal_ptr(path, p->runtime_config) ||
594167
-               path_equal_ptr(path, p->generator) ||
594167
-               path_equal_ptr(path, p->generator_early) ||
594167
-               path_equal_ptr(path, p->generator_late) ||
594167
-               path_equal_ptr(path, p->transient) ||
594167
-               path_equal_ptr(path, p->runtime_control);
594167
+        return path_equal_ptr(path, lp->runtime_config) ||
594167
+               path_equal_ptr(path, lp->generator) ||
594167
+               path_equal_ptr(path, lp->generator_early) ||
594167
+               path_equal_ptr(path, lp->generator_late) ||
594167
+               path_equal_ptr(path, lp->transient) ||
594167
+               path_equal_ptr(path, lp->runtime_control);
594167
 }
594167
 
594167
-static int path_is_vendor_or_generator(const LookupPaths *p, const char *path) {
594167
+static int path_is_vendor_or_generator(const LookupPaths *lp, const char *path) {
594167
         const char *rpath;
594167
 
594167
-        assert(p);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
-        rpath = skip_root(p, path);
594167
+        rpath = skip_root(lp->root_dir, path);
594167
         if (!rpath)
594167
                 return 0;
594167
 
594167
@@ -245,19 +242,19 @@ static int path_is_vendor_or_generator(const LookupPaths *p, const char *path) {
594167
                 return true;
594167
 #endif
594167
 
594167
-        if (path_is_generator(p, rpath))
594167
+        if (path_is_generator(lp, rpath))
594167
                 return true;
594167
 
594167
         return path_equal(rpath, SYSTEM_DATA_UNIT_DIR);
594167
 }
594167
 
594167
-static const char* config_path_from_flags(const LookupPaths *paths, UnitFileFlags flags) {
594167
-        assert(paths);
594167
+static const char* config_path_from_flags(const LookupPaths *lp, UnitFileFlags flags) {
594167
+        assert(lp);
594167
 
594167
         if (FLAGS_SET(flags, UNIT_FILE_PORTABLE))
594167
-                return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? paths->runtime_attached : paths->persistent_attached;
594167
+                return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? lp->runtime_attached : lp->persistent_attached;
594167
         else
594167
-                return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? paths->runtime_config : paths->persistent_config;
594167
+                return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? lp->runtime_config : lp->persistent_config;
594167
 }
594167
 
594167
 int unit_file_changes_add(
594167
@@ -435,7 +432,7 @@ static bool chroot_symlinks_same(const char *root, const char *wd, const char *a
594167
 }
594167
 
594167
 static int create_symlink(
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *old_path,
594167
                 const char *new_path,
594167
                 bool force,
594167
@@ -449,7 +446,7 @@ static int create_symlink(
594167
         assert(old_path);
594167
         assert(new_path);
594167
 
594167
-        rp = skip_root(paths, old_path);
594167
+        rp = skip_root(lp->root_dir, old_path);
594167
         if (rp)
594167
                 old_path = rp;
594167
 
594167
@@ -487,7 +484,7 @@ static int create_symlink(
594167
         if (!dirname)
594167
                 return -ENOMEM;
594167
 
594167
-        if (chroot_symlinks_same(paths->root_dir, dirname, dest, old_path)) {
594167
+        if (chroot_symlinks_same(lp->root_dir, dirname, dest, old_path)) {
594167
                 log_debug("Symlink %s → %s already exists", new_path, dest);
594167
                 return 1;
594167
         }
594167
@@ -642,7 +639,7 @@ static int remove_marked_symlinks_fd(
594167
                         /* Now, remember the full path (but with the root prefix removed) of
594167
                          * the symlink we just removed, and remove any symlinks to it, too. */
594167
 
594167
-                        rp = skip_root(lp, p);
594167
+                        rp = skip_root(lp->root_dir, p);
594167
                         q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: p);
594167
                         if (q < 0)
594167
                                 return q;
594167
@@ -861,7 +858,7 @@ static int find_symlinks(
594167
 
594167
 static int find_symlinks_in_scope(
594167
                 UnitFileScope scope,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const UnitFileInstallInfo *i,
594167
                 bool match_name,
594167
                 UnitFileState *state) {
594167
@@ -872,23 +869,23 @@ static int find_symlinks_in_scope(
594167
         char **p;
594167
         int r;
594167
 
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(i);
594167
 
594167
-        /* As we iterate over the list of search paths in paths->search_path, we may encounter "same name"
594167
+        /* As we iterate over the list of search paths in lp->search_path, we may encounter "same name"
594167
          * symlinks. The ones which are "below" (i.e. have lower priority) than the unit file itself are
594167
          * effectively masked, so we should ignore them. */
594167
 
594167
-        STRV_FOREACH(p, paths->search_path)  {
594167
+        STRV_FOREACH(p, lp->search_path)  {
594167
                 bool same_name_link = false;
594167
 
594167
-                r = find_symlinks(paths->root_dir, i, match_name, ignore_same_name, *p, &same_name_link);
594167
+                r = find_symlinks(lp->root_dir, i, match_name, ignore_same_name, *p, &same_name_link);
594167
                 if (r < 0)
594167
                         return r;
594167
                 if (r > 0) {
594167
                         /* We found symlinks in this dir? Yay! Let's see where precisely it is enabled. */
594167
 
594167
-                        if (path_equal_ptr(*p, paths->persistent_config)) {
594167
+                        if (path_equal_ptr(*p, lp->persistent_config)) {
594167
                                 /* This is the best outcome, let's return it immediately. */
594167
                                 *state = UNIT_FILE_ENABLED;
594167
                                 return 1;
594167
@@ -900,7 +897,7 @@ static int find_symlinks_in_scope(
594167
                                 return 1;
594167
                         }
594167
 
594167
-                        r = path_is_runtime(paths, *p, false);
594167
+                        r = path_is_runtime(lp, *p, false);
594167
                         if (r < 0)
594167
                                 return r;
594167
                         if (r > 0)
594167
@@ -909,10 +906,10 @@ static int find_symlinks_in_scope(
594167
                                 enabled_at_all = true;
594167
 
594167
                 } else if (same_name_link) {
594167
-                        if (path_equal_ptr(*p, paths->persistent_config))
594167
+                        if (path_equal_ptr(*p, lp->persistent_config))
594167
                                 same_name_link_config = true;
594167
                         else {
594167
-                                r = path_is_runtime(paths, *p, false);
594167
+                                r = path_is_runtime(lp, *p, false);
594167
                                 if (r < 0)
594167
                                         return r;
594167
                                 if (r > 0)
594167
@@ -990,11 +987,11 @@ static UnitFileInstallInfo *install_info_find(InstallContext *c, const char *nam
594167
 
594167
 static int install_info_may_process(
594167
                 const UnitFileInstallInfo *i,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
         assert(i);
594167
-        assert(paths);
594167
+        assert(lp);
594167
 
594167
         /* Checks whether the loaded unit file is one we should process, or is masked,
594167
          * transient or generated and thus not subject to enable/disable operations. */
594167
@@ -1003,8 +1000,8 @@ static int install_info_may_process(
594167
                 unit_file_changes_add(changes, n_changes, -ERFKILL, i->path, NULL);
594167
                 return -ERFKILL;
594167
         }
594167
-        if (path_is_generator(paths, i->path) ||
594167
-            path_is_transient(paths, i->path)) {
594167
+        if (path_is_generator(lp, i->path) ||
594167
+            path_is_transient(lp, i->path)) {
594167
                 unit_file_changes_add(changes, n_changes, -EADDRNOTAVAIL, i->path, NULL);
594167
                 return -EADDRNOTAVAIL;
594167
         }
594167
@@ -1339,20 +1336,20 @@ static int unit_file_load_or_readlink(
594167
                 InstallContext *c,
594167
                 UnitFileInstallInfo *info,
594167
                 const char *path,
594167
-                const char *root_dir,
594167
+                const LookupPaths *lp,
594167
                 SearchFlags flags) {
594167
 
594167
         _cleanup_free_ char *resolved = NULL;
594167
         int r;
594167
 
594167
-        r = unit_file_load(c, info, path, root_dir, flags);
594167
+        r = unit_file_load(c, info, path, lp->root_dir, flags);
594167
         if (r != -ELOOP || (flags & SEARCH_DROPIN))
594167
                 return r;
594167
 
594167
-        r = chase_symlinks(path, root_dir, CHASE_WARN | CHASE_NONEXISTENT, &resolved, NULL);
594167
+        r = chase_symlinks(path, lp->root_dir, CHASE_WARN | CHASE_NONEXISTENT, &resolved, NULL);
594167
         if (r >= 0 &&
594167
-            root_dir &&
594167
-            path_equal_ptr(path_startswith(resolved, root_dir), "dev/null"))
594167
+            lp->root_dir &&
594167
+            path_equal_ptr(path_startswith(resolved, lp->root_dir), "dev/null"))
594167
                 /* When looking under root_dir, we can't expect /dev/ to be mounted,
594167
                  * so let's see if the path is a (possibly dangling) symlink to /dev/null. */
594167
                 info->type = UNIT_FILE_TYPE_MASKED;
594167
@@ -1402,7 +1399,7 @@ static int unit_file_load_or_readlink(
594167
 
594167
                 if (path_is_absolute(target))
594167
                         /* This is an absolute path, prefix the root so that we always deal with fully qualified paths */
594167
-                        info->symlink_target = path_join(root_dir, target);
594167
+                        info->symlink_target = path_join(lp->root_dir, target);
594167
                 else
594167
                         /* This is a relative path, take it relative to the dir the symlink is located in. */
594167
                         info->symlink_target = file_in_same_dir(path, target);
594167
@@ -1418,7 +1415,7 @@ static int unit_file_load_or_readlink(
594167
 static int unit_file_search(
594167
                 InstallContext *c,
594167
                 UnitFileInstallInfo *info,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 SearchFlags flags) {
594167
 
594167
         const char *dropin_dir_name = NULL, *dropin_template_dir_name = NULL;
594167
@@ -1429,14 +1426,14 @@ static int unit_file_search(
594167
         char **p;
594167
 
594167
         assert(info);
594167
-        assert(paths);
594167
+        assert(lp);
594167
 
594167
         /* Was this unit already loaded? */
594167
         if (info->type != _UNIT_FILE_TYPE_INVALID)
594167
                 return 0;
594167
 
594167
         if (info->path)
594167
-                return unit_file_load_or_readlink(c, info, info->path, paths->root_dir, flags);
594167
+                return unit_file_load_or_readlink(c, info, info->path, lp, flags);
594167
 
594167
         assert(info->name);
594167
 
594167
@@ -1446,14 +1443,14 @@ static int unit_file_search(
594167
                         return r;
594167
         }
594167
 
594167
-        STRV_FOREACH(p, paths->search_path) {
594167
+        STRV_FOREACH(p, lp->search_path) {
594167
                 _cleanup_free_ char *path = NULL;
594167
 
594167
                 path = path_join(*p, info->name);
594167
                 if (!path)
594167
                         return -ENOMEM;
594167
 
594167
-                r = unit_file_load_or_readlink(c, info, path, paths->root_dir, flags);
594167
+                r = unit_file_load_or_readlink(c, info, path, lp, flags);
594167
                 if (r >= 0) {
594167
                         info->path = TAKE_PTR(path);
594167
                         result = r;
594167
@@ -1469,14 +1466,14 @@ static int unit_file_search(
594167
                  * enablement was requested.  We will check if it is
594167
                  * possible to load template unit file. */
594167
 
594167
-                STRV_FOREACH(p, paths->search_path) {
594167
+                STRV_FOREACH(p, lp->search_path) {
594167
                         _cleanup_free_ char *path = NULL;
594167
 
594167
                         path = path_join(*p, template);
594167
                         if (!path)
594167
                                 return -ENOMEM;
594167
 
594167
-                        r = unit_file_load_or_readlink(c, info, path, paths->root_dir, flags);
594167
+                        r = unit_file_load_or_readlink(c, info, path, lp, flags);
594167
                         if (r >= 0) {
594167
                                 info->path = TAKE_PTR(path);
594167
                                 result = r;
594167
@@ -1498,7 +1495,7 @@ static int unit_file_search(
594167
         /* Search for drop-in directories */
594167
 
594167
         dropin_dir_name = strjoina(info->name, ".d");
594167
-        STRV_FOREACH(p, paths->search_path) {
594167
+        STRV_FOREACH(p, lp->search_path) {
594167
                 char *path;
594167
 
594167
                 path = path_join(*p, dropin_dir_name);
594167
@@ -1512,7 +1509,7 @@ static int unit_file_search(
594167
 
594167
         if (template) {
594167
                 dropin_template_dir_name = strjoina(template, ".d");
594167
-                STRV_FOREACH(p, paths->search_path) {
594167
+                STRV_FOREACH(p, lp->search_path) {
594167
                         char *path;
594167
 
594167
                         path = path_join(*p, dropin_template_dir_name);
594167
@@ -1532,7 +1529,7 @@ static int unit_file_search(
594167
                 return log_debug_errno(r, "Failed to get list of conf files: %m");
594167
 
594167
         STRV_FOREACH(p, files) {
594167
-                r = unit_file_load_or_readlink(c, info, *p, paths->root_dir, flags | SEARCH_DROPIN);
594167
+                r = unit_file_load_or_readlink(c, info, *p, lp, flags | SEARCH_DROPIN);
594167
                 if (r < 0)
594167
                         return log_debug_errno(r, "Failed to load conf file %s: %m", *p);
594167
         }
594167
@@ -1543,7 +1540,7 @@ static int unit_file_search(
594167
 static int install_info_follow(
594167
                 InstallContext *c,
594167
                 UnitFileInstallInfo *i,
594167
-                const char *root_dir,
594167
+                const LookupPaths *lp,
594167
                 SearchFlags flags,
594167
                 bool ignore_different_name) {
594167
 
594167
@@ -1564,7 +1561,7 @@ static int install_info_follow(
594167
         free_and_replace(i->path, i->symlink_target);
594167
         i->type = _UNIT_FILE_TYPE_INVALID;
594167
 
594167
-        return unit_file_load_or_readlink(c, i, i->path, root_dir, flags);
594167
+        return unit_file_load_or_readlink(c, i, i->path, lp, flags);
594167
 }
594167
 
594167
 /**
594167
@@ -1574,7 +1571,7 @@ static int install_info_follow(
594167
 static int install_info_traverse(
594167
                 UnitFileScope scope,
594167
                 InstallContext *c,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 UnitFileInstallInfo *start,
594167
                 SearchFlags flags,
594167
                 UnitFileInstallInfo **ret) {
594167
@@ -1583,11 +1580,11 @@ static int install_info_traverse(
594167
         unsigned k = 0;
594167
         int r;
594167
 
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(start);
594167
         assert(c);
594167
 
594167
-        r = unit_file_search(c, start, paths, flags);
594167
+        r = unit_file_search(c, start, lp, flags);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
@@ -1599,14 +1596,14 @@ static int install_info_traverse(
594167
                         return -ELOOP;
594167
 
594167
                 if (!(flags & SEARCH_FOLLOW_CONFIG_SYMLINKS)) {
594167
-                        r = path_is_config(paths, i->path, true);
594167
+                        r = path_is_config(lp, i->path, true);
594167
                         if (r < 0)
594167
                                 return r;
594167
                         if (r > 0)
594167
                                 return -ELOOP;
594167
                 }
594167
 
594167
-                r = install_info_follow(c, i, paths->root_dir, flags, false);
594167
+                r = install_info_follow(c, i, lp, flags, false);
594167
                 if (r == -EXDEV) {
594167
                         _cleanup_free_ char *buffer = NULL;
594167
                         const char *bn;
594167
@@ -1635,7 +1632,7 @@ static int install_info_traverse(
594167
                                         /* We filled in the instance, and the target stayed the same? If so, then let's
594167
                                          * honour the link as it is. */
594167
 
594167
-                                        r = install_info_follow(c, i, paths->root_dir, flags, true);
594167
+                                        r = install_info_follow(c, i, lp, flags, true);
594167
                                         if (r < 0)
594167
                                                 return r;
594167
 
594167
@@ -1645,12 +1642,12 @@ static int install_info_traverse(
594167
                                 bn = buffer;
594167
                         }
594167
 
594167
-                        r = install_info_add(c, bn, NULL, paths->root_dir, /* auxiliary= */ false, &i);
594167
+                        r = install_info_add(c, bn, NULL, lp->root_dir, /* auxiliary= */ false, &i);
594167
                         if (r < 0)
594167
                                 return r;
594167
 
594167
                         /* Try again, with the new target we found. */
594167
-                        r = unit_file_search(c, i, paths, flags);
594167
+                        r = unit_file_search(c, i, lp, flags);
594167
                         if (r == -ENOENT)
594167
                                 /* Translate error code to highlight this specific case */
594167
                                 return -ENOLINK;
594167
@@ -1672,7 +1669,7 @@ static int install_info_traverse(
594167
  */
594167
 static int install_info_add_auto(
594167
                 InstallContext *c,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *name_or_path,
594167
                 UnitFileInstallInfo **ret) {
594167
 
594167
@@ -1682,17 +1679,17 @@ static int install_info_add_auto(
594167
         if (path_is_absolute(name_or_path)) {
594167
                 const char *pp;
594167
 
594167
-                pp = prefix_roota(paths->root_dir, name_or_path);
594167
+                pp = prefix_roota(lp->root_dir, name_or_path);
594167
 
594167
-                return install_info_add(c, NULL, pp, paths->root_dir, /* auxiliary= */ false, ret);
594167
+                return install_info_add(c, NULL, pp, lp->root_dir, /* auxiliary= */ false, ret);
594167
         } else
594167
-                return install_info_add(c, name_or_path, NULL, paths->root_dir, /* auxiliary= */ false, ret);
594167
+                return install_info_add(c, name_or_path, NULL, lp->root_dir, /* auxiliary= */ false, ret);
594167
 }
594167
 
594167
 static int install_info_discover(
594167
                 UnitFileScope scope,
594167
                 InstallContext *c,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *name,
594167
                 SearchFlags flags,
594167
                 UnitFileInstallInfo **ret,
594167
@@ -1703,12 +1700,12 @@ static int install_info_discover(
594167
         int r;
594167
 
594167
         assert(c);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(name);
594167
 
594167
-        r = install_info_add_auto(c, paths, name, &i);
594167
+        r = install_info_add_auto(c, lp, name, &i);
594167
         if (r >= 0)
594167
-                r = install_info_traverse(scope, c, paths, i, flags, ret);
594167
+                r = install_info_traverse(scope, c, lp, i, flags, ret);
594167
 
594167
         if (r < 0)
594167
                 unit_file_changes_add(changes, n_changes, r, name, NULL);
594167
@@ -1718,7 +1715,7 @@ static int install_info_discover(
594167
 static int install_info_discover_and_check(
594167
                         UnitFileScope scope,
594167
                         InstallContext *c,
594167
-                        const LookupPaths *paths,
594167
+                        const LookupPaths *lp,
594167
                         const char *name,
594167
                         SearchFlags flags,
594167
                         UnitFileInstallInfo **ret,
594167
@@ -1727,11 +1724,11 @@ static int install_info_discover_and_check(
594167
 
594167
         int r;
594167
 
594167
-        r = install_info_discover(scope, c, paths, name, flags, ret, changes, n_changes);
594167
+        r = install_info_discover(scope, c, lp, name, flags, ret, changes, n_changes);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        return install_info_may_process(ret ? *ret : NULL, paths, changes, n_changes);
594167
+        return install_info_may_process(ret ? *ret : NULL, lp, changes, n_changes);
594167
 }
594167
 
594167
 int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char **ret_dst) {
594167
@@ -1812,7 +1809,7 @@ int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char *
594167
 
594167
 static int install_info_symlink_alias(
594167
                 UnitFileInstallInfo *i,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 bool force,
594167
                 UnitFileChange **changes,
594167
@@ -1822,7 +1819,7 @@ static int install_info_symlink_alias(
594167
         int r = 0, q;
594167
 
594167
         assert(i);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         STRV_FOREACH(s, i->aliases) {
594167
@@ -1840,7 +1837,7 @@ static int install_info_symlink_alias(
594167
                 if (!alias_path)
594167
                         return -ENOMEM;
594167
 
594167
-                q = create_symlink(paths, i->path, alias_path, force, changes, n_changes);
594167
+                q = create_symlink(lp, i->path, alias_path, force, changes, n_changes);
594167
                 if (r == 0)
594167
                         r = q;
594167
         }
594167
@@ -1852,7 +1849,7 @@ static int install_info_symlink_wants(
594167
                 UnitFileScope scope,
594167
                 UnitFileFlags file_flags,
594167
                 UnitFileInstallInfo *i,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 char **list,
594167
                 const char *suffix,
594167
@@ -1866,7 +1863,7 @@ static int install_info_symlink_wants(
594167
         int r = 0, q;
594167
 
594167
         assert(i);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         if (strv_isempty(list))
594167
@@ -1889,7 +1886,7 @@ static int install_info_symlink_wants(
594167
                         return r;
594167
 
594167
                 instance.name = buf;
594167
-                r = unit_file_search(NULL, &instance, paths, SEARCH_FOLLOW_CONFIG_SYMLINKS);
594167
+                r = unit_file_search(NULL, &instance, lp, SEARCH_FOLLOW_CONFIG_SYMLINKS);
594167
                 if (r < 0)
594167
                         return r;
594167
 
594167
@@ -1943,11 +1940,11 @@ static int install_info_symlink_wants(
594167
                 if (!path)
594167
                         return -ENOMEM;
594167
 
594167
-                q = create_symlink(paths, i->path, path, true, changes, n_changes);
594167
+                q = create_symlink(lp, i->path, path, true, changes, n_changes);
594167
                 if (r == 0)
594167
                         r = q;
594167
 
594167
-                if (unit_file_exists(scope, paths, dst) == 0)
594167
+                if (unit_file_exists(scope, lp, dst) == 0)
594167
                         unit_file_changes_add(changes, n_changes, UNIT_FILE_DESTINATION_NOT_PRESENT, dst, i->path);
594167
         }
594167
 
594167
@@ -1956,7 +1953,7 @@ static int install_info_symlink_wants(
594167
 
594167
 static int install_info_symlink_link(
594167
                 UnitFileInstallInfo *i,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 bool force,
594167
                 UnitFileChange **changes,
594167
@@ -1966,11 +1963,11 @@ static int install_info_symlink_link(
594167
         int r;
594167
 
594167
         assert(i);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
         assert(i->path);
594167
 
594167
-        r = in_search_path(paths, i->path);
594167
+        r = in_search_path(lp, i->path);
594167
         if (r < 0)
594167
                 return r;
594167
         if (r > 0)
594167
@@ -1980,14 +1977,14 @@ static int install_info_symlink_link(
594167
         if (!path)
594167
                 return -ENOMEM;
594167
 
594167
-        return create_symlink(paths, i->path, path, force, changes, n_changes);
594167
+        return create_symlink(lp, i->path, path, force, changes, n_changes);
594167
 }
594167
 
594167
 static int install_info_apply(
594167
                 UnitFileScope scope,
594167
                 UnitFileFlags file_flags,
594167
                 UnitFileInstallInfo *i,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
@@ -1995,7 +1992,7 @@ static int install_info_apply(
594167
         int r, q;
594167
 
594167
         assert(i);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         if (i->type != UNIT_FILE_TYPE_REGULAR)
594167
@@ -2003,17 +2000,17 @@ static int install_info_apply(
594167
 
594167
         bool force = file_flags & UNIT_FILE_FORCE;
594167
 
594167
-        r = install_info_symlink_alias(i, paths, config_path, force, changes, n_changes);
594167
+        r = install_info_symlink_alias(i, lp, config_path, force, changes, n_changes);
594167
 
594167
-        q = install_info_symlink_wants(scope, file_flags, i, paths, config_path, i->wanted_by, ".wants/", changes, n_changes);
594167
+        q = install_info_symlink_wants(scope, file_flags, i, lp, config_path, i->wanted_by, ".wants/", changes, n_changes);
594167
         if (r == 0)
594167
                 r = q;
594167
 
594167
-        q = install_info_symlink_wants(scope, file_flags, i, paths, config_path, i->required_by, ".requires/", changes, n_changes);
594167
+        q = install_info_symlink_wants(scope, file_flags, i, lp, config_path, i->required_by, ".requires/", changes, n_changes);
594167
         if (r == 0)
594167
                 r = q;
594167
 
594167
-        q = install_info_symlink_link(i, paths, config_path, force, changes, n_changes);
594167
+        q = install_info_symlink_link(i, lp, config_path, force, changes, n_changes);
594167
         /* Do not count links to the unit file towards the "carries_install_info" count */
594167
         if (r == 0 && q < 0)
594167
                 r = q;
594167
@@ -2025,7 +2022,7 @@ static int install_context_apply(
594167
                 UnitFileScope scope,
594167
                 UnitFileFlags file_flags,
594167
                 InstallContext *c,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 SearchFlags flags,
594167
                 UnitFileChange **changes,
594167
@@ -2035,7 +2032,7 @@ static int install_context_apply(
594167
         int r;
594167
 
594167
         assert(c);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         if (ordered_hashmap_isempty(c->will_process))
594167
@@ -2053,7 +2050,7 @@ static int install_context_apply(
594167
                 if (q < 0)
594167
                         return q;
594167
 
594167
-                q = install_info_traverse(scope, c, paths, i, flags, NULL);
594167
+                q = install_info_traverse(scope, c, lp, i, flags, NULL);
594167
                 if (q < 0) {
594167
                         if (i->auxiliary) {
594167
                                 q = unit_file_changes_add(changes, n_changes, UNIT_FILE_AUXILIARY_FAILED, NULL, i->name);
594167
@@ -2080,7 +2077,7 @@ static int install_context_apply(
594167
                 if (i->type != UNIT_FILE_TYPE_REGULAR)
594167
                         continue;
594167
 
594167
-                q = install_info_apply(scope, file_flags, i, paths, config_path, changes, n_changes);
594167
+                q = install_info_apply(scope, file_flags, i, lp, config_path, changes, n_changes);
594167
                 if (r >= 0) {
594167
                         if (q < 0)
594167
                                 r = q;
594167
@@ -2095,7 +2092,7 @@ static int install_context_apply(
594167
 static int install_context_mark_for_removal(
594167
                 UnitFileScope scope,
594167
                 InstallContext *c,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 Set **remove_symlinks_to,
594167
                 const char *config_path,
594167
                 UnitFileChange **changes,
594167
@@ -2105,7 +2102,7 @@ static int install_context_mark_for_removal(
594167
         int r;
594167
 
594167
         assert(c);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         /* Marks all items for removal */
594167
@@ -2123,7 +2120,7 @@ static int install_context_mark_for_removal(
594167
                 if (r < 0)
594167
                         return r;
594167
 
594167
-                r = install_info_traverse(scope, c, paths, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL);
594167
+                r = install_info_traverse(scope, c, lp, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL);
594167
                 if (r == -ENOLINK) {
594167
                         log_debug_errno(r, "Name %s leads to a dangling symlink, removing name.", i->name);
594167
                         unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_DANGLING, i->path ?: i->name, NULL);
594167
@@ -2164,7 +2161,7 @@ int unit_file_mask(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         const char *config_path;
594167
         char **i;
594167
         int r;
594167
@@ -2172,11 +2169,11 @@ int unit_file_mask(
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -2194,7 +2191,7 @@ int unit_file_mask(
594167
                 if (!path)
594167
                         return -ENOMEM;
594167
 
594167
-                q = create_symlink(&paths, "/dev/null", path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
+                q = create_symlink(&lp, "/dev/null", path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
                 if (q < 0 && r >= 0)
594167
                         r = q;
594167
         }
594167
@@ -2210,7 +2207,7 @@ int unit_file_unmask(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
594167
         _cleanup_strv_free_ char **todo = NULL;
594167
         const char *config_path;
594167
@@ -2222,11 +2219,11 @@ int unit_file_unmask(
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -2283,13 +2280,13 @@ int unit_file_unmask(
594167
 
594167
                 unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, path, NULL);
594167
 
594167
-                rp = skip_root(&paths, path);
594167
+                rp = skip_root(lp.root_dir, path);
594167
                 q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: path);
594167
                 if (q < 0)
594167
                         return q;
594167
         }
594167
 
594167
-        q = remove_marked_symlinks(remove_symlinks_to, config_path, &paths, dry_run, changes, n_changes);
594167
+        q = remove_marked_symlinks(remove_symlinks_to, config_path, &lp, dry_run, changes, n_changes);
594167
         if (r >= 0)
594167
                 r = q;
594167
 
594167
@@ -2304,7 +2301,7 @@ int unit_file_link(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_strv_free_ char **todo = NULL;
594167
         const char *config_path;
594167
         size_t n_todo = 0;
594167
@@ -2314,11 +2311,11 @@ int unit_file_link(
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -2334,7 +2331,7 @@ int unit_file_link(
594167
                 if (!unit_name_is_valid(fn, UNIT_NAME_ANY))
594167
                         return -EINVAL;
594167
 
594167
-                full = path_join(paths.root_dir, *i);
594167
+                full = path_join(lp.root_dir, *i);
594167
                 if (!full)
594167
                         return -ENOMEM;
594167
 
594167
@@ -2344,7 +2341,7 @@ int unit_file_link(
594167
                 if (r < 0)
594167
                         return r;
594167
 
594167
-                q = in_search_path(&paths, *i);
594167
+                q = in_search_path(&lp, *i);
594167
                 if (q < 0)
594167
                         return q;
594167
                 if (q > 0)
594167
@@ -2370,7 +2367,7 @@ int unit_file_link(
594167
                 if (!new_path)
594167
                         return -ENOMEM;
594167
 
594167
-                q = create_symlink(&paths, *i, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
+                q = create_symlink(&lp, *i, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
                 if (q < 0 && r >= 0)
594167
                         r = q;
594167
         }
594167
@@ -2378,23 +2375,23 @@ int unit_file_link(
594167
         return r;
594167
 }
594167
 
594167
-static int path_shall_revert(const LookupPaths *paths, const char *path) {
594167
+static int path_shall_revert(const LookupPaths *lp, const char *path) {
594167
         int r;
594167
 
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(path);
594167
 
594167
         /* Checks whether the path is one where the drop-in directories shall be removed. */
594167
 
594167
-        r = path_is_config(paths, path, true);
594167
+        r = path_is_config(lp, path, true);
594167
         if (r != 0)
594167
                 return r;
594167
 
594167
-        r = path_is_control(paths, path);
594167
+        r = path_is_control(lp, path);
594167
         if (r != 0)
594167
                 return r;
594167
 
594167
-        return path_is_transient(paths, path);
594167
+        return path_is_transient(lp, path);
594167
 }
594167
 
594167
 int unit_file_revert(
594167
@@ -2405,7 +2402,7 @@ int unit_file_revert(
594167
                 size_t *n_changes) {
594167
 
594167
         _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_strv_free_ char **todo = NULL;
594167
         size_t n_todo = 0;
594167
         char **i;
594167
@@ -2422,7 +2419,7 @@ int unit_file_revert(
594167
          * We remove all that in both the runtime and the persistent directories, if that applies.
594167
          */
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
@@ -2433,7 +2430,7 @@ int unit_file_revert(
594167
                 if (!unit_name_is_valid(*i, UNIT_NAME_ANY))
594167
                         return -EINVAL;
594167
 
594167
-                STRV_FOREACH(p, paths.search_path) {
594167
+                STRV_FOREACH(p, lp.search_path) {
594167
                         _cleanup_free_ char *path = NULL, *dropin = NULL;
594167
                         struct stat st;
594167
 
594167
@@ -2447,7 +2444,7 @@ int unit_file_revert(
594167
                                         return -errno;
594167
                         } else if (S_ISREG(st.st_mode)) {
594167
                                 /* Check if there's a vendor version */
594167
-                                r = path_is_vendor_or_generator(&paths, path);
594167
+                                r = path_is_vendor_or_generator(&lp, path);
594167
                                 if (r < 0)
594167
                                         return r;
594167
                                 if (r > 0)
594167
@@ -2464,7 +2461,7 @@ int unit_file_revert(
594167
                                         return -errno;
594167
                         } else if (S_ISDIR(st.st_mode)) {
594167
                                 /* Remove the drop-ins */
594167
-                                r = path_shall_revert(&paths, dropin);
594167
+                                r = path_shall_revert(&lp, dropin);
594167
                                 if (r < 0)
594167
                                         return r;
594167
                                 if (r > 0) {
594167
@@ -2480,7 +2477,7 @@ int unit_file_revert(
594167
                         continue;
594167
 
594167
                 /* OK, there's a vendor version, hence drop all configuration versions */
594167
-                STRV_FOREACH(p, paths.search_path) {
594167
+                STRV_FOREACH(p, lp.search_path) {
594167
                         _cleanup_free_ char *path = NULL;
594167
                         struct stat st;
594167
 
594167
@@ -2493,7 +2490,7 @@ int unit_file_revert(
594167
                                 if (errno != ENOENT)
594167
                                         return -errno;
594167
                         } else if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
594167
-                                r = path_is_config(&paths, path, true);
594167
+                                r = path_is_config(&lp, path, true);
594167
                                 if (r < 0)
594167
                                         return r;
594167
                                 if (r > 0) {
594167
@@ -2534,17 +2531,17 @@ int unit_file_revert(
594167
 
594167
                 unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, *i, NULL);
594167
 
594167
-                rp = skip_root(&paths, *i);
594167
+                rp = skip_root(lp.root_dir, *i);
594167
                 q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: *i);
594167
                 if (q < 0)
594167
                         return q;
594167
         }
594167
 
594167
-        q = remove_marked_symlinks(remove_symlinks_to, paths.runtime_config, &paths, false, changes, n_changes);
594167
+        q = remove_marked_symlinks(remove_symlinks_to, lp.runtime_config, &lp, false, changes, n_changes);
594167
         if (r >= 0)
594167
                 r = q;
594167
 
594167
-        q = remove_marked_symlinks(remove_symlinks_to, paths.persistent_config, &paths, false, changes, n_changes);
594167
+        q = remove_marked_symlinks(remove_symlinks_to, lp.persistent_config, &lp, false, changes, n_changes);
594167
         if (r >= 0)
594167
                 r = q;
594167
 
594167
@@ -2561,7 +2558,7 @@ int unit_file_add_dependency(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         UnitFileInstallInfo *i, *target_info;
594167
         const char *config_path;
594167
@@ -2578,15 +2575,15 @@ int unit_file_add_dependency(
594167
         if (!unit_name_is_valid(target, UNIT_NAME_ANY))
594167
                 return -EINVAL;
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
-        r = install_info_discover_and_check(scope, &c, &paths, target, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+        r = install_info_discover_and_check(scope, &c, &lp, target, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                             &target_info, changes, n_changes);
594167
         if (r < 0)
594167
                 return r;
594167
@@ -2596,7 +2593,7 @@ int unit_file_add_dependency(
594167
         STRV_FOREACH(f, files) {
594167
                 char ***l;
594167
 
594167
-                r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+                r = install_info_discover_and_check(scope, &c, &lp, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                                     &i, changes, n_changes);
594167
                 if (r < 0)
594167
                         return r;
594167
@@ -2618,7 +2615,7 @@ int unit_file_add_dependency(
594167
                         return -ENOMEM;
594167
         }
594167
 
594167
-        return install_context_apply(scope, file_flags, &c, &paths, config_path,
594167
+        return install_context_apply(scope, file_flags, &c, &lp, config_path,
594167
                                      SEARCH_FOLLOW_CONFIG_SYMLINKS, changes, n_changes);
594167
 }
594167
 
594167
@@ -2630,7 +2627,7 @@ int unit_file_enable(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         const char *config_path;
594167
         UnitFileInstallInfo *i;
594167
@@ -2640,16 +2637,16 @@ int unit_file_enable(
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = config_path_from_flags(&paths, file_flags);
594167
+        config_path = config_path_from_flags(&lp, file_flags);
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
         STRV_FOREACH(f, files) {
594167
-                r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+                r = install_info_discover_and_check(scope, &c, &lp, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                                     &i, changes, n_changes);
594167
                 if (r < 0)
594167
                         return r;
594167
@@ -2662,7 +2659,7 @@ int unit_file_enable(
594167
            is useful to determine whether the passed files had any
594167
            installation data at all. */
594167
 
594167
-        return install_context_apply(scope, file_flags, &c, &paths, config_path, SEARCH_LOAD, changes, n_changes);
594167
+        return install_context_apply(scope, file_flags, &c, &lp, config_path, SEARCH_LOAD, changes, n_changes);
594167
 }
594167
 
594167
 int unit_file_disable(
594167
@@ -2673,7 +2670,7 @@ int unit_file_disable(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
594167
         const char *config_path;
594167
@@ -2683,11 +2680,11 @@ int unit_file_disable(
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = config_path_from_flags(&paths, flags);
594167
+        config_path = config_path_from_flags(&lp, flags);
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -2695,16 +2692,16 @@ int unit_file_disable(
594167
                 if (!unit_name_is_valid(*i, UNIT_NAME_ANY))
594167
                         return -EINVAL;
594167
 
594167
-                r = install_info_add(&c, *i, NULL, paths.root_dir, /* auxiliary= */ false, NULL);
594167
+                r = install_info_add(&c, *i, NULL, lp.root_dir, /* auxiliary= */ false, NULL);
594167
                 if (r < 0)
594167
                         return r;
594167
         }
594167
 
594167
-        r = install_context_mark_for_removal(scope, &c, &paths, &remove_symlinks_to, config_path, changes, n_changes);
594167
+        r = install_context_mark_for_removal(scope, &c, &lp, &remove_symlinks_to, config_path, changes, n_changes);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        return remove_marked_symlinks(remove_symlinks_to, config_path, &paths, !!(flags & UNIT_FILE_DRY_RUN), changes, n_changes);
594167
+        return remove_marked_symlinks(remove_symlinks_to, config_path, &lp, !!(flags & UNIT_FILE_DRY_RUN), changes, n_changes);
594167
 }
594167
 
594167
 int unit_file_reenable(
594167
@@ -2742,7 +2739,7 @@ int unit_file_set_default(
594167
                 UnitFileChange **changes,
594167
                 size_t *n_changes) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         UnitFileInstallInfo *i;
594167
         const char *new_path;
594167
@@ -2757,16 +2754,16 @@ int unit_file_set_default(
594167
         if (streq(name, SPECIAL_DEFAULT_TARGET))
594167
                 return -EINVAL;
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        r = install_info_discover_and_check(scope, &c, &paths, name, 0, &i, changes, n_changes);
594167
+        r = install_info_discover_and_check(scope, &c, &lp, name, 0, &i, changes, n_changes);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        new_path = strjoina(paths.persistent_config, "/" SPECIAL_DEFAULT_TARGET);
594167
-        return create_symlink(&paths, i->path, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
+        new_path = strjoina(lp.persistent_config, "/" SPECIAL_DEFAULT_TARGET);
594167
+        return create_symlink(&lp, i->path, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes);
594167
 }
594167
 
594167
 int unit_file_get_default(
594167
@@ -2774,7 +2771,7 @@ int unit_file_get_default(
594167
                 const char *root_dir,
594167
                 char **name) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         UnitFileInstallInfo *i;
594167
         char *n;
594167
@@ -2784,15 +2781,15 @@ int unit_file_get_default(
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
         assert(name);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        r = install_info_discover(scope, &c, &paths, SPECIAL_DEFAULT_TARGET, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+        r = install_info_discover(scope, &c, &lp, SPECIAL_DEFAULT_TARGET, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                   &i, NULL, NULL);
594167
         if (r < 0)
594167
                 return r;
594167
-        r = install_info_may_process(i, &paths, NULL, 0);
594167
+        r = install_info_may_process(i, &lp, NULL, 0);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
@@ -2806,7 +2803,7 @@ int unit_file_get_default(
594167
 
594167
 int unit_file_lookup_state(
594167
                 UnitFileScope scope,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *name,
594167
                 UnitFileState *ret) {
594167
 
594167
@@ -2815,13 +2812,13 @@ int unit_file_lookup_state(
594167
         UnitFileState state;
594167
         int r;
594167
 
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(name);
594167
 
594167
         if (!unit_name_is_valid(name, UNIT_NAME_ANY))
594167
                 return -EINVAL;
594167
 
594167
-        r = install_info_discover(scope, &c, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+        r = install_info_discover(scope, &c, lp, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                   &i, NULL, NULL);
594167
         if (r < 0)
594167
                 return log_debug_errno(r, "Failed to discover unit %s: %m", name);
594167
@@ -2837,7 +2834,7 @@ int unit_file_lookup_state(
594167
         switch (i->type) {
594167
 
594167
         case UNIT_FILE_TYPE_MASKED:
594167
-                r = path_is_runtime(paths, i->path, true);
594167
+                r = path_is_runtime(lp, i->path, true);
594167
                 if (r < 0)
594167
                         return r;
594167
 
594167
@@ -2851,7 +2848,7 @@ int unit_file_lookup_state(
594167
                         break;
594167
                 }
594167
 
594167
-                r = path_is_generator(paths, i->path);
594167
+                r = path_is_generator(lp, i->path);
594167
                 if (r < 0)
594167
                         return r;
594167
                 if (r > 0) {
594167
@@ -2859,7 +2856,7 @@ int unit_file_lookup_state(
594167
                         break;
594167
                 }
594167
 
594167
-                r = path_is_transient(paths, i->path);
594167
+                r = path_is_transient(lp, i->path);
594167
                 if (r < 0)
594167
                         return r;
594167
                 if (r > 0) {
594167
@@ -2870,7 +2867,7 @@ int unit_file_lookup_state(
594167
                 /* Check if any of the Alias= symlinks have been created.
594167
                  * We ignore other aliases, and only check those that would
594167
                  * be created by systemctl enable for this unit. */
594167
-                r = find_symlinks_in_scope(scope, paths, i, true, &state);
594167
+                r = find_symlinks_in_scope(scope, lp, i, true, &state);
594167
                 if (r < 0)
594167
                         return r;
594167
                 if (r > 0)
594167
@@ -2878,7 +2875,7 @@ int unit_file_lookup_state(
594167
 
594167
                 /* Check if the file is known under other names. If it is,
594167
                  * it might be in use. Report that as UNIT_FILE_INDIRECT. */
594167
-                r = find_symlinks_in_scope(scope, paths, i, false, &state);
594167
+                r = find_symlinks_in_scope(scope, lp, i, false, &state);
594167
                 if (r < 0)
594167
                         return r;
594167
                 if (r > 0)
594167
@@ -2908,31 +2905,31 @@ int unit_file_get_state(
594167
                 const char *name,
594167
                 UnitFileState *ret) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         int r;
594167
 
594167
         assert(scope >= 0);
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
         assert(name);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        return unit_file_lookup_state(scope, &paths, name, ret);
594167
+        return unit_file_lookup_state(scope, &lp, name, ret);
594167
 }
594167
 
594167
-int unit_file_exists(UnitFileScope scope, const LookupPaths *paths, const char *name) {
594167
+int unit_file_exists(UnitFileScope scope, const LookupPaths *lp, const char *name) {
594167
         _cleanup_(install_context_done) InstallContext c = {};
594167
         int r;
594167
 
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(name);
594167
 
594167
         if (!unit_name_is_valid(name, UNIT_NAME_ANY))
594167
                 return -EINVAL;
594167
 
594167
-        r = install_info_discover(scope, &c, paths, name, 0, NULL, NULL, NULL);
594167
+        r = install_info_discover(scope, &c, lp, name, 0, NULL, NULL, NULL);
594167
         if (r == -ENOENT)
594167
                 return 0;
594167
         if (r < 0)
594167
@@ -3195,7 +3192,7 @@ static int execute_preset(
594167
                 UnitFileFlags file_flags,
594167
                 InstallContext *plus,
594167
                 InstallContext *minus,
594167
-                const LookupPaths *paths,
594167
+                const LookupPaths *lp,
594167
                 const char *config_path,
594167
                 char **files,
594167
                 UnitFilePresetMode mode,
594167
@@ -3206,17 +3203,17 @@ static int execute_preset(
594167
 
594167
         assert(plus);
594167
         assert(minus);
594167
-        assert(paths);
594167
+        assert(lp);
594167
         assert(config_path);
594167
 
594167
         if (mode != UNIT_FILE_PRESET_ENABLE_ONLY) {
594167
                 _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
594167
 
594167
-                r = install_context_mark_for_removal(scope, minus, paths, &remove_symlinks_to, config_path, changes, n_changes);
594167
+                r = install_context_mark_for_removal(scope, minus, lp, &remove_symlinks_to, config_path, changes, n_changes);
594167
                 if (r < 0)
594167
                         return r;
594167
 
594167
-                r = remove_marked_symlinks(remove_symlinks_to, config_path, paths, false, changes, n_changes);
594167
+                r = remove_marked_symlinks(remove_symlinks_to, config_path, lp, false, changes, n_changes);
594167
         } else
594167
                 r = 0;
594167
 
594167
@@ -3226,7 +3223,7 @@ static int execute_preset(
594167
                 /* Returns number of symlinks that where supposed to be installed. */
594167
                 q = install_context_apply(scope,
594167
                                           file_flags | UNIT_FILE_IGNORE_AUXILIARY_FAILURE,
594167
-                                          plus, paths, config_path, SEARCH_LOAD, changes, n_changes);
594167
+                                          plus, lp, config_path, SEARCH_LOAD, changes, n_changes);
594167
                 if (r >= 0) {
594167
                         if (q < 0)
594167
                                 r = q;
594167
@@ -3242,7 +3239,7 @@ static int preset_prepare_one(
594167
                 UnitFileScope scope,
594167
                 InstallContext *plus,
594167
                 InstallContext *minus,
594167
-                LookupPaths *paths,
594167
+                LookupPaths *lp,
594167
                 const char *name,
594167
                 const UnitFilePresets *presets,
594167
                 UnitFileChange **changes,
594167
@@ -3256,7 +3253,7 @@ static int preset_prepare_one(
594167
         if (install_info_find(plus, name) || install_info_find(minus, name))
594167
                 return 0;
594167
 
594167
-        r = install_info_discover(scope, &tmp, paths, name, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+        r = install_info_discover(scope, &tmp, lp, name, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                   &i, changes, n_changes);
594167
         if (r < 0)
594167
                 return r;
594167
@@ -3273,20 +3270,20 @@ static int preset_prepare_one(
594167
                 if (instance_name_list) {
594167
                         char **s;
594167
                         STRV_FOREACH(s, instance_name_list) {
594167
-                                r = install_info_discover_and_check(scope, plus, paths, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+                                r = install_info_discover_and_check(scope, plus, lp, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                                                     &i, changes, n_changes);
594167
                                 if (r < 0)
594167
                                         return r;
594167
                         }
594167
                 } else {
594167
-                        r = install_info_discover_and_check(scope, plus, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+                        r = install_info_discover_and_check(scope, plus, lp, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                                             &i, changes, n_changes);
594167
                         if (r < 0)
594167
                                 return r;
594167
                 }
594167
 
594167
         } else
594167
-                r = install_info_discover(scope, minus, paths, name, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
+                r = install_info_discover(scope, minus, lp, name, SEARCH_FOLLOW_CONFIG_SYMLINKS,
594167
                                           &i, changes, n_changes);
594167
 
594167
         return r;
594167
@@ -3302,7 +3299,7 @@ int unit_file_preset(
594167
                 size_t *n_changes) {
594167
 
594167
         _cleanup_(install_context_done) InstallContext plus = {}, minus = {};
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(unit_file_presets_freep) UnitFilePresets presets = {};
594167
         const char *config_path;
594167
         char **i;
594167
@@ -3312,11 +3309,11 @@ int unit_file_preset(
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
         assert(mode < _UNIT_FILE_PRESET_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -3325,12 +3322,12 @@ int unit_file_preset(
594167
                 return r;
594167
 
594167
         STRV_FOREACH(i, files) {
594167
-                r = preset_prepare_one(scope, &plus, &minus, &paths, *i, &presets, changes, n_changes);
594167
+                r = preset_prepare_one(scope, &plus, &minus, &lp, *i, &presets, changes, n_changes);
594167
                 if (r < 0)
594167
                         return r;
594167
         }
594167
 
594167
-        return execute_preset(scope, file_flags, &plus, &minus, &paths, config_path, files, mode, changes, n_changes);
594167
+        return execute_preset(scope, file_flags, &plus, &minus, &lp, config_path, files, mode, changes, n_changes);
594167
 }
594167
 
594167
 int unit_file_preset_all(
594167
@@ -3342,7 +3339,7 @@ int unit_file_preset_all(
594167
                 size_t *n_changes) {
594167
 
594167
         _cleanup_(install_context_done) InstallContext plus = {}, minus = {};
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         _cleanup_(unit_file_presets_freep) UnitFilePresets presets = {};
594167
         const char *config_path = NULL;
594167
         char **i;
594167
@@ -3352,11 +3349,11 @@ int unit_file_preset_all(
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
         assert(mode < _UNIT_FILE_PRESET_MAX);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
594167
+        config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config;
594167
         if (!config_path)
594167
                 return -ENXIO;
594167
 
594167
@@ -3364,7 +3361,7 @@ int unit_file_preset_all(
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        STRV_FOREACH(i, paths.search_path) {
594167
+        STRV_FOREACH(i, lp.search_path) {
594167
                 _cleanup_closedir_ DIR *d = NULL;
594167
 
594167
                 d = opendir(*i);
594167
@@ -3383,7 +3380,7 @@ int unit_file_preset_all(
594167
                         if (!IN_SET(de->d_type, DT_LNK, DT_REG))
594167
                                 continue;
594167
 
594167
-                        r = preset_prepare_one(scope, &plus, &minus, &paths, de->d_name, &presets, changes, n_changes);
594167
+                        r = preset_prepare_one(scope, &plus, &minus, &lp, de->d_name, &presets, changes, n_changes);
594167
                         if (r < 0 &&
594167
                             !IN_SET(r, -EEXIST, -ERFKILL, -EADDRNOTAVAIL, -EIDRM, -EUCLEAN, -ELOOP, -ENOENT))
594167
                                 /* Ignore generated/transient/missing/invalid units when applying preset, propagate other errors.
594167
@@ -3392,7 +3389,7 @@ int unit_file_preset_all(
594167
                 }
594167
         }
594167
 
594167
-        return execute_preset(scope, file_flags, &plus, &minus, &paths, config_path, NULL, mode, changes, n_changes);
594167
+        return execute_preset(scope, file_flags, &plus, &minus, &lp, config_path, NULL, mode, changes, n_changes);
594167
 }
594167
 
594167
 static UnitFileList* unit_file_list_free_one(UnitFileList *f) {
594167
@@ -3416,7 +3413,7 @@ int unit_file_get_list(
594167
                 char **states,
594167
                 char **patterns) {
594167
 
594167
-        _cleanup_(lookup_paths_free) LookupPaths paths = {};
594167
+        _cleanup_(lookup_paths_free) LookupPaths lp = {};
594167
         char **dirname;
594167
         int r;
594167
 
594167
@@ -3424,11 +3421,11 @@ int unit_file_get_list(
594167
         assert(scope < _UNIT_FILE_SCOPE_MAX);
594167
         assert(h);
594167
 
594167
-        r = lookup_paths_init(&paths, scope, 0, root_dir);
594167
+        r = lookup_paths_init(&lp, scope, 0, root_dir);
594167
         if (r < 0)
594167
                 return r;
594167
 
594167
-        STRV_FOREACH(dirname, paths.search_path) {
594167
+        STRV_FOREACH(dirname, lp.search_path) {
594167
                 _cleanup_closedir_ DIR *d = NULL;
594167
 
594167
                 d = opendir(*dirname);
594167
@@ -3466,7 +3463,7 @@ int unit_file_get_list(
594167
                         if (!f->path)
594167
                                 return -ENOMEM;
594167
 
594167
-                        r = unit_file_lookup_state(scope, &paths, de->d_name, &f->state);
594167
+                        r = unit_file_lookup_state(scope, &lp, de->d_name, &f->state);
594167
                         if (r < 0)
594167
                                 f->state = UNIT_FILE_BAD;
594167