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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]:
> 
> > 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").
> [...]
> 
> > --- /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



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux