]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
unit drop-in: Fix ordering of special type.d drop-ins 14441/head
authorGreg "GothAck" Miell <greg@gothack.ninja>
Fri, 27 Dec 2019 14:49:51 +0000 (14:49 +0000)
committerGreg "GothAck" Miell <greg@gothack.ninja>
Fri, 27 Dec 2019 15:10:24 +0000 (15:10 +0000)
src/shared/dropin.c

index 96cd08aab25d65837ed9bdd734ae86df8fc769c4..6844c2b647b5ed07e8059544db5aeae65b3027ee 100644 (file)
@@ -236,6 +236,10 @@ int unit_file_find_dropin_paths(
 
         assert(ret);
 
+        SET_FOREACH(name, names, i)
+                STRV_FOREACH(p, lookup_path)
+                        (void) unit_file_find_dirs(original_root, unit_path_cache, *p, name, dir_suffix, &dirs);
+
         /* All the names in the unit are of the same type so just grab one. */
         name = (char*) set_first(names);
         if (name) {
@@ -247,7 +251,7 @@ int unit_file_find_dropin_paths(
                                                "Failed to to derive unit type from unit name: %s",
                                                name);
 
-                /* Special top level drop in for "<unit type>.<suffix>". Add this first as it's the most generic
+                /* Special top level drop in for "<unit type>.<suffix>". Add this last as it's the most generic
                  * and should be able to be overridden by more specific drop-ins. */
                 STRV_FOREACH(p, lookup_path)
                         (void) unit_file_find_dirs(original_root,
@@ -258,10 +262,6 @@ int unit_file_find_dropin_paths(
                                                    &dirs);
         }
 
-        SET_FOREACH(name, names, i)
-                STRV_FOREACH(p, lookup_path)
-                        (void) unit_file_find_dirs(original_root, unit_path_cache, *p, name, dir_suffix, &dirs);
-
         if (strv_isempty(dirs)) {
                 *ret = NULL;
                 return 0;