From 0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cf Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Thu, 13 Mar 2014 19:02:28 +0100 Subject: [PATCH] networkd: fix creation of runtime dirs at startup This allows us to drop the repeated attempted creations of the runtime dirs during runtime. --- src/libsystemd-network/sd-dhcp-lease.c | 4 ---- src/network/networkd-link.c | 4 ---- src/network/networkd-manager.c | 4 ---- src/network/networkd.c | 16 ++++++++++++++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/libsystemd-network/sd-dhcp-lease.c b/src/libsystemd-network/sd-dhcp-lease.c index f7a204af8..e6d80d4c6 100644 --- a/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/libsystemd-network/sd-dhcp-lease.c @@ -297,10 +297,6 @@ int dhcp_lease_save(sd_dhcp_lease *lease, const char *lease_file) { assert(lease); assert(lease_file); - r = mkdir_safe_label("/run/systemd/network/leases", 0755, 0, 0); - if (r < 0) - goto finish; - r = fopen_temporary(lease_file, &f, &temp_path); if (r < 0) goto finish; diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 39cef2254..2650f8635 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1367,10 +1367,6 @@ int link_save(Link *link) { assert(link); assert(link->state_file); - r = mkdir_safe_label("/run/systemd/network/links", 0755, 0, 0); - if (r < 0) - goto finish; - r = fopen_temporary(link->state_file, &f, &temp_path); if (r < 0) goto finish; diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index f41914f88..8c2f5efbd 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -407,10 +407,6 @@ int manager_update_resolv_conf(Manager *m) { assert(m); - r = mkdir_safe_label("/run/systemd/network", 0755, 0, 0); - if (r < 0) - return r; - r = fopen_temporary("/run/systemd/network/resolv.conf", &f, &temp_path); if (r < 0) return r; diff --git a/src/network/networkd.c b/src/network/networkd.c index 2f6a12dbc..f0e6ad520 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -42,8 +42,20 @@ int main(int argc, char *argv[]) { /* Always create the directories people can create inotify * watches in. */ - mkdir_label("/run/systemd/network/links", 0755); - mkdir_label("/run/systemd/network/leases", 0755); + r = mkdir_label("/run/systemd/network", 0755); + if (r < 0) + log_error("Could not create runtime directory: %s", + strerror(-r)); + + r = mkdir_label("/run/systemd/network/links", 0755); + if (r < 0) + log_error("Could not create runtime directory 'links': %s", + strerror(-r)); + + r = mkdir_label("/run/systemd/network/leases", 0755); + if (r < 0) + log_error("Could not create runtime directory 'leases': %s", + strerror(-r)); r = manager_new(&m); if (r < 0) { -- 2.30.2