]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: drop no-op cleanup
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 27 Oct 2024 07:29:24 +0000 (16:29 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Oct 2024 15:58:42 +0000 (00:58 +0900)
- network_load() is always called with an empty OrderedHashmap, renamed the output
  parameter to 'ret'.
- When netdev_load() is called on startup, the hashmap is NULL. When it is
  called on reloading, the hashmap is not cleaned up.

Hence, then these cleanups are always no-op. Let's drop them.

src/network/netdev/netdev.c
src/network/netdev/netdev.h
src/network/networkd-manager.c
src/network/networkd-network.c
src/network/networkd-network.h

index bbd4a22cf6014255e0aef129539e04589d9b6b9e..48ea6c9f7734de816df9211d0437a5e583ea28a4 100644 (file)
@@ -1014,15 +1014,12 @@ int netdev_load_one(Manager *manager, const char *filename) {
         return 0;
 }
 
-int netdev_load(Manager *manager, bool reload) {
+int netdev_load(Manager *manager) {
         _cleanup_strv_free_ char **files = NULL;
         int r;
 
         assert(manager);
 
-        if (!reload)
-                hashmap_clear_with_destructor(manager->netdevs, netdev_unref);
-
         r = conf_files_list_strv(&files, ".netdev", NULL, 0, NETWORK_DIRS);
         if (r < 0)
                 return log_error_errno(r, "Failed to enumerate netdev files: %m");
index 7a2f22b2616219151d82c1a5e3b7ac757e7672c9..b3969b6e3bc675e683c44f6bed93b8b50e2c62dc 100644 (file)
@@ -211,7 +211,7 @@ NetDev* netdev_detach_name(NetDev *netdev, const char *name);
 void netdev_detach(NetDev *netdev);
 int netdev_set_ifindex_internal(NetDev *netdev, int ifindex);
 
-int netdev_load(Manager *manager, bool reload);
+int netdev_load(Manager *manager);
 int netdev_load_one(Manager *manager, const char *filename);
 void netdev_drop(NetDev *netdev);
 void netdev_enter_failed(NetDev *netdev);
index 2813fa1f284c18c12be906597de719fa0b2035be..98df43afa6a6dbb40fa452af6a7c2c9eae36f525 100644 (file)
@@ -739,7 +739,7 @@ int manager_start(Manager *m) {
 int manager_load_config(Manager *m) {
         int r;
 
-        r = netdev_load(m, false);
+        r = netdev_load(m);
         if (r < 0)
                 return r;
 
@@ -1150,7 +1150,7 @@ int manager_reload(Manager *m, sd_bus_message *message) {
 
         (void) notify_reloading();
 
-        r = netdev_load(m, /* reload= */ true);
+        r = netdev_load(m);
         if (r < 0)
                 goto finish;
 
index 3d399fe876c6ffb3e9f8e1b864fa3cca4cffa6d9..82c6d20dec766f0c8dbd106ff4b1677a31cf76f5 100644 (file)
@@ -598,21 +598,22 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
         return 0;
 }
 
-int network_load(Manager *manager, OrderedHashmap **networks) {
+int network_load(Manager *manager, OrderedHashmap **ret) {
         _cleanup_strv_free_ char **files = NULL;
+        OrderedHashmap *networks = NULL;
         int r;
 
         assert(manager);
-
-        ordered_hashmap_clear_with_destructor(*networks, network_unref);
+        assert(ret);
 
         r = conf_files_list_strv(&files, ".network", NULL, 0, NETWORK_DIRS);
         if (r < 0)
                 return log_error_errno(r, "Failed to enumerate network files: %m");
 
         STRV_FOREACH(f, files)
-                (void) network_load_one(manager, networks, *f);
+                (void) network_load_one(manager, &networks, *f);
 
+        *ret = TAKE_PTR(networks);
         return 0;
 }
 
index b4ab1179289cc46275a832bdceca00faf446bc44..30ea9ac3526d4cfeb98439466077819ba488a474 100644 (file)
@@ -419,7 +419,7 @@ Network *network_ref(Network *network);
 Network *network_unref(Network *network);
 DEFINE_TRIVIAL_CLEANUP_FUNC(Network*, network_unref);
 
-int network_load(Manager *manager, OrderedHashmap **networks);
+int network_load(Manager *manager, OrderedHashmap **ret);
 int network_reload(Manager *manager);
 int network_load_one(Manager *manager, OrderedHashmap **networks, const char *filename);
 int network_verify(Network *network);