> >> I don't use systemd on Gentoo but for the nfs-utils upstream-shipped > >> systemd units that I think that Gentoo's using, you have to re-run > >> nfs-config.service - or run the script that it calls - in order to > >> update the "/run/sysconfig/nfs-utils" environment file that's sourced > >> by the nfs-server.service unit. > > > > In /usr/lib/systemd/system/nfs-server.service > > [Service] > > EnvironmentFile=/etc/conf.d/nfs > > Sorry. Looking at the ebuild, there's: > > <begin> > rm "${D}$(systemd_get_unitdir)"/nfs-config.service || die > sed -i -r \ > -e "/^EnvironmentFile=/s:=.*:=${EPREFIX}/etc/conf.d/nfs:" \ > -e '/^(After|Wants)=nfs-config.service$/d' \ > -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \ > "${D}$(systemd_get_unitdir)"/* || die > </end> > > so the upstream "nfs-config.service" waltz is avoided. > > But that means that the variables in "/etc/conf.d/nfs" aren't renamed. > So the openrc nfs script uses "${OPTS_RPC_NFSD}", which is defined, > and the systemd service uses "$RPCNFSDARGS", which isn't. >
I've added $RPCNFSDARGS to /etc/conf.d/nfs, restarted, and the nproc setting works. > > >> Does "/var/lib/nfs/v4recovery/" exist? > > > > No > > # ls /var/lib/nfs/ > > etab export-lock rmtab rpc_pipefs sm sm.bak state xtab > > IIRC, it's needed to avoid this delay. I thought that I'd saved a url > about this but I can't find it. > > Do you have a syslog message about "stable storage"? "man nfsdcltrack". > There's no message about stable storage, but there's this; kernel: [578030.628415] NFSD: the nfsdcld client tracking upcall will be removed in 3.10. Please transition to using nfsdcltrack. # which nfsdcltrack which: no nfsdcltrack in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0:/usr/lib64/subversion/bin:/opt/vmware/bin) # qlist nfs | grep nfsdcltrack # > The openrc script has > > <begin> > mkdir_nfsdirs() { > local d > for d in v4recovery v4root ; do > d="/var/lib/nfs/${d}" > [ ! -d "${d}" ] && mkdir -p "${d}" > done > } > </end> > > but systemd doesn't have anything equivalent. On RHEL and Ubuntu, > "/var/lib/nfs/v4recovery/" is created at installation time. Perhaps > the Gentoo ebuild should do the same or should ship a > "/usr/lib/tmpfiles.d/var-lib-nfs.conf" to create it at boot if it > doesn't exist. > > I've added the directory, and after restarting syslog now has new entries; kernel: [912267.948883] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory I will test shortly and report back - thanks!