X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-netdev.c;h=8b96d60dcab6a98d3ec15dc8bfec810ac0de04d0;hb=ed88bcfb7c15029f9fc95ee2380759a9eb782d46;hp=7d12af3938e2552bd7699c9ba4254782aa07ba93;hpb=e9f3d2d508bfd9fb5b54e82994bda365a71eb864;p=elogind.git diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c index 7d12af393..8b96d60dc 100644 --- a/src/network/networkd-netdev.c +++ b/src/network/networkd-netdev.c @@ -495,11 +495,6 @@ static int netdev_load_one(Manager *manager, const char *filename) { assert(manager); assert(filename); - if (null_or_empty_path(filename)) { - log_debug("skipping empty file: %s", filename); - return 0; - } - file = fopen(filename, "re"); if (!file) { if (errno == ENOENT) @@ -508,6 +503,11 @@ static int netdev_load_one(Manager *manager, const char *filename) { return -errno; } + if (null_or_empty_fd(fileno(file))) { + log_debug("Skipping empty file: %s", filename); + return 0; + } + netdev = new0(NetDev, 1); if (!netdev) return log_oom(); @@ -526,11 +526,9 @@ static int netdev_load_one(Manager *manager, const char *filename) { r = config_parse(NULL, filename, file, "Match\0NetDev\0VLAN\0MACVLAN\0VXLAN\0Tunnel\0Peer\0Tun\0Tap\0Bond\0", config_item_perf_lookup, network_netdev_gperf_lookup, - false, false, netdev); - if (r < 0) { - log_warning("Could not parse config file %s: %s", filename, strerror(-r)); + false, false, true, netdev); + if (r < 0) return r; - } /* skip out early if configuration does not match the environment */ if (net_match_config(NULL, NULL, NULL, NULL, NULL,