Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
On Wed, 27.05.15 14:34, Martin Pitt (martin.p...@ubuntu.com) wrote: Hey Peter, Peter Lemenkov [2015-05-27 15:30 +0300]: This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); Should that perhaps go into /usr/lib/tmpfiles.d/systemd.conf instead, together with the related d /run/systemd/netif 0755 systemd-network systemd-network - d /run/systemd/netif/links 0755 systemd-network systemd-network - d /run/systemd/netif/leases 0755 systemd-network systemd-network - ? This would not suffice, as networkd can run in early-boot, but tmpfiles only runs after /var and friends have been mounted. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
Lennart Poettering píše v St 27. 05. 2015 v 15:01 +0200: On Wed, 27.05.15 14:34, Martin Pitt (martin.p...@ubuntu.com) wrote: Hey Peter, Peter Lemenkov [2015-05-27 15:30 +0300]: This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); Should that perhaps go into /usr/lib/tmpfiles.d/systemd.conf instead, together with the related d /run/systemd/netif 0755 systemd-network systemd-network - d /run/systemd/netif/links 0755 systemd-network systemd-network - d /run/systemd/netif/leases 0755 systemd-network systemd-network - ? This would not suffice, as networkd can run in early-boot, but tmpfiles only runs after /var and friends have been mounted. Lennart For some cases we need that directory really soon. For example for a generator which creates a .link file that renames a device. Lukas ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
Hey Peter, Peter Lemenkov [2015-05-27 15:30 +0300]: This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); Should that perhaps go into /usr/lib/tmpfiles.d/systemd.conf instead, together with the related d /run/systemd/netif 0755 systemd-network systemd-network - d /run/systemd/netif/links 0755 systemd-network systemd-network - d /run/systemd/netif/leases 0755 systemd-network systemd-network - ? Thanks, Martin -- Martin Pitt| http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); + r = drop_privileges(uid, gid, (1ULL CAP_NET_ADMIN) | (1ULL CAP_NET_BIND_SERVICE) | -- 2.4.1 ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
Patchset imported to github. Pull request: https://github.com/systemd-devs/systemd/compare/master...systemd-mailing-devs:1432729838-16175-1-git-send-email-lemenkov%40gmail.com -- Generated by https://github.com/haraldh/mail2git ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
On Wed, 27.05.15 15:40, Lukáš Nykrýn (lnyk...@redhat.com) wrote: Lennart Poettering píše v St 27. 05. 2015 v 15:01 +0200: On Wed, 27.05.15 14:34, Martin Pitt (martin.p...@ubuntu.com) wrote: Hey Peter, Peter Lemenkov [2015-05-27 15:30 +0300]: This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); Should that perhaps go into /usr/lib/tmpfiles.d/systemd.conf instead, together with the related d /run/systemd/netif 0755 systemd-network systemd-network - d /run/systemd/netif/links 0755 systemd-network systemd-network - d /run/systemd/netif/leases 0755 systemd-network systemd-network - ? This would not suffice, as networkd can run in early-boot, but tmpfiles only runs after /var and friends have been mounted. For some cases we need that directory really soon. For example for a generator which creates a .link file that renames a device. Nah, systemd generators should only generate unit files, and nothing else, and do so in the directories that are passed to it on the command line arguments. tools that generate .link/.network/.netdev files should probably live in their own mini-service that is ordered before networkd and udev. And those tools should probably just create the dirs on their own if they are missing to make this race-free. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 1/1] Ensure that /run/systemd/network exists
On Wed, 27.05.15 15:30, Peter Lemenkov (lemen...@gmail.com) wrote: This directory is used for storing transient/generated network service files. Unfortunately it doesn't generated during systemd-networkd startup. Let's fix that. Hmm, how did you generate these network files? Why not make the tool you used create the dirs on its own? --- src/network/networkd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/networkd.c b/src/network/networkd.c index 543a4e4..a98855f 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -67,6 +67,9 @@ int main(int argc, char *argv[]) { if (r 0) log_warning_errno(r, Could not create runtime directory 'lldp': %m); +/* Create a directory for the generated transient network services */ +mkdir_p(/run/systemd/network, 0755); + r = drop_privileges(uid, gid, (1ULL CAP_NET_ADMIN) | (1ULL CAP_NET_BIND_SERVICE) | -- 2.4.1 ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel