]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
config-parser: Add list of drop-in files as return argument of config_parse_many
authorRichard Phibel <rphibel@googlemail.com>
Mon, 8 Aug 2022 13:40:46 +0000 (15:40 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 12 Aug 2022 10:48:29 +0000 (12:48 +0200)
This will be used to save the list of drop-in files for each partition

src/core/main.c
src/journal/journald-server.c
src/network/netdev/netdev.c
src/network/networkd-network.c
src/resolve/resolved-dnssd.c
src/shared/conf-parser.c
src/shared/conf-parser.h
src/udev/net/link-config.c

index 467e1dd57c789116860b7a99e9ef6fe6e62b8c23..9ad208fdfca83e2e7cd1158b5a84e03ce4f87df6 100644 (file)
@@ -691,6 +691,7 @@ static int parse_config_file(void) {
                         config_item_table_lookup, items,
                         CONFIG_PARSE_WARN,
                         NULL,
+                        NULL,
                         NULL);
 
         /* Traditionally "0" was used to turn off the default unit timeouts. Fix this up so that we use
index 954e154f574ab9bf6c89be8fff9db74fd4544eb4..e7afbd3eb3aa23a1e8ad05280bf5f58e4ac04401 100644 (file)
@@ -1746,7 +1746,7 @@ static int server_parse_config_file(Server *s) {
                                 dropin_dirname,
                                 "Journal\0",
                                 config_item_perf_lookup, journald_gperf_lookup,
-                                CONFIG_PARSE_WARN, s, NULL);
+                                CONFIG_PARSE_WARN, s, NULL, NULL);
                 if (r < 0)
                         return r;
 
index e9fadfddde8e8fa81e020c9a6dc0f23fe2434bf4..464f47f2cf78da81d4131ade6057a9c746c6ab3b 100644 (file)
@@ -789,6 +789,7 @@ int netdev_load_one(Manager *manager, const char *filename) {
                         config_item_perf_lookup, network_netdev_gperf_lookup,
                         CONFIG_PARSE_WARN,
                         netdev_raw,
+                        NULL,
                         NULL);
         if (r < 0)
                 return r; /* config_parse_many() logs internally. */
@@ -823,7 +824,7 @@ int netdev_load_one(Manager *manager, const char *filename) {
                         NETDEV_VTABLE(netdev)->sections,
                         config_item_perf_lookup, network_netdev_gperf_lookup,
                         CONFIG_PARSE_WARN,
-                        netdev, NULL);
+                        netdev, NULL, NULL);
         if (r < 0)
                 return r; /* config_parse_many() logs internally. */
 
index 4faa43b3279eddec6f86f20b8caaf09f5eb006f0..61b900ada2dfcb13df33f8e891c5ee9dca57469e 100644 (file)
@@ -550,7 +550,8 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
                         config_item_perf_lookup, network_network_gperf_lookup,
                         CONFIG_PARSE_WARN,
                         network,
-                        &network->stats_by_path);
+                        &network->stats_by_path,
+                        NULL);
         if (r < 0)
                 return r; /* config_parse_many() logs internally. */
 
index 84193eacc1d7ea2c5db0cd81c126392d44303895..464892a8fe03ce411ef056cd256e994d3e67a983 100644 (file)
@@ -93,6 +93,7 @@ static int dnssd_service_load(Manager *manager, const char *filename) {
                         config_item_perf_lookup, resolved_dnssd_gperf_lookup,
                         CONFIG_PARSE_WARN,
                         service,
+                        NULL,
                         NULL);
         if (r < 0)
                 return r;
index 765ccec5016d765a2cb9c928e58ffcfc8af0a703..887ae0dd61644621818d431a4e76a0814f51954a 100644 (file)
@@ -588,7 +588,8 @@ int config_parse_many(
                 const void *table,
                 ConfigParseFlags flags,
                 void *userdata,
-                Hashmap **ret_stats_by_path) {
+                Hashmap **ret_stats_by_path,
+                char ***ret_dropin_files) {
 
         _cleanup_strv_free_ char **files = NULL;
         int r;
@@ -602,7 +603,14 @@ int config_parse_many(
         if (r < 0)
                 return r;
 
-        return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path);
+        r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path);
+        if (r < 0)
+                return r;
+
+        if (ret_dropin_files)
+                *ret_dropin_files = TAKE_PTR(files);
+
+        return 0;
 }
 
 static int dropins_get_stats_by_path(
index bd57575af127c613efeb763a8b39870a73e8f633..32f2498b53e350576448db0fcbdcf3fe563cbef1 100644 (file)
@@ -112,7 +112,8 @@ int config_parse_many(
                 const void *table,
                 ConfigParseFlags flags,
                 void *userdata,
-                Hashmap **ret_stats_by_path);   /* possibly NULL */
+                Hashmap **ret_stats_by_path,  /* possibly NULL */
+                char ***ret_drop_in_files);   /* possibly NULL */
 
 int config_get_stats_by_path(
                 const char *suffix,
index 693f5cd3a60279a5699928b3a3807307d67ea431..3863808fb030b51d3a432a9aaf24400356b6415d 100644 (file)
@@ -264,7 +264,8 @@ int link_load_one(LinkConfigContext *ctx, const char *filename) {
                         "Link\0"
                         "SR-IOV\0",
                         config_item_perf_lookup, link_config_gperf_lookup,
-                        CONFIG_PARSE_WARN, config, &stats_by_path);
+                        CONFIG_PARSE_WARN, config, &stats_by_path,
+                        NULL);
         if (r < 0)
                 return r; /* config_parse_many() logs internally. */