Thread (8 messages) 8 messages, 2 authors, 2022-11-25

Re: [PATCH 4/4] systemd: Apply all sysctl settings through udev rule when NFS-related modules are loaded

From: Salvatore Bonaccorso <hidden>
Date: 2022-11-25 16:35:02

Hi Michael,

On Fri, Nov 25, 2022 at 02:29:35PM +0100, Michael Prokop wrote:
Hi,

* Salvatore Bonaccorso [Fri Nov 25, 2022 at 02:07:25PM +0100]:
quoted
sysctl settings (e.g.  /etc/sysctl.conf and others) are normally loaded
once at boot.  If the module that implements some settings is no yet
loaded, those settings don't get applied.

Various NFS modules support various sysctl settings.  If they are loaded
after boot, they miss out.

Add a new udev rule configuration to udev/rules.d/60-nfs.rules to apply
the relevant settings when the module is loaded.

Placing it in the systemd directory similarly as the coice for the
original commit afc7132dfb21 ("systemd: Apply all sysctl settings when
NFS-related modules are loaded").
[...]
quoted
--- /dev/null
+++ b/systemd/60-nfs.rules
@@ -0,0 +1,21 @@
+# Ensure all NFS systctl settings get applied when modules load
+
+# sunrpc module supports "sunrpc.*" sysctls
+ACTION=="add", SUBSYSTEM=="module", KERNEL=="sunrpc", \
+  RUN+="/sbin/sysctl -q --pattern ^sunrpc --system"
[...]

Thanks for taking care of this problem, Salvatore!
Thanks to you for prodding about it, hope to bring the issue bit
forward with the series proposal.
AFAICT even latest busybox's sysctl does not support the `--pattern`
option yet:

| sysctl: unrecognized option '--pattern'
| BusyBox v1.35.0 (Debian 1:1.35.0-4) multi-call binary.
| [....]

So any initramfs that uses busybox and its sysctl (like in Debian)
and trying to apply above udev rules might fail?
But would this actually be a problem for us here? There is no hook
script which would copy the 60-nfs.rules (not relevant in initrd) to
the initrd. The rule only would apply on module load outside the
initrd.

There is only a subset of rules which would be copied into initrd,
like the ones in hook/udev. But 60-nfs.rules would be specific to
nfs-utils, which does not provide a initramfs-tools hook to include
the rules into initrd.

Now the question you raise, is, do they need to be handled actually
already as well in initrd? You are correct, when handled through the
previous mechanism with modrobe.d configuration, 50-nfs.conf was added
to initramfs:

usr/lib/modprobe.d/50-nfs.conf 

(and causing the issues seen).

Please correct me if I missed something from the picture.

Regards,
Salvatore
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help