Re: nfs-utils' .service files not usable with nfsv4-server.service

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

 





On 4/6/24 6:26 PM, Matt Turner wrote:
On Sat, Apr 6, 2024 at 4:37 PM Steve Dickson <steved@xxxxxxxxxx> wrote:

Hello,

On 4/5/24 10:29 AM, Matt Turner wrote:
Downstream bug: https://bugs.gentoo.org/928526

In Gentoo we allow disabling NFSv3 support, which entails nothing more
than not installing `nfs-server.service`. This has uncovered an issue
that many .service files reference `nfs-server.service` explicitly,
making them unusable with `nfsv4-server.service`.
Very interesting... not supporting v3... Just curious as to why?

I don't think there's a particularly compelling reason. I guess it
lets you avoid a dependency on rpcbind.
And the other baggage  that comes with v3... but
I think it will be difficult to deprecate it.

But it might be fun trying :-)


server ~ # grep nfs-server.service $(qlist nfs-utils | grep service)
/usr/lib/systemd/system/rpc-statd-notify.service:After=nfs-server.service
/usr/lib/systemd/system/nfs-mountd.service:BindsTo=nfs-server.service
/usr/lib/systemd/system/rpc-svcgssd.service:PartOf=nfs-server.service
/usr/lib/systemd/system/fsidd.service:Before=nfs-mountd.service nfs-server.service
/usr/lib/systemd/system/fsidd.service:RequiredBy=nfs-mountd.service nfs-server.service
/usr/lib/systemd/system/nfs-idmapd.service:BindsTo=nfs-server.service

The only service file that depends on nfsv4-server is nfsv4-exportd:

server ~ # grep nfsv4-server.service $(qlist nfs-utils | grep service)
/usr/lib/systemd/system/nfsv4-exportd.service:BindsTo=nfsv4-server.service

How should `nfsv4-server.service` be used?
The idea was to make nfs-utils have a smaller footprint for containers.
No rpcbind, lockd, statd etc.. exportd is to replace mountd
and only accept v4 mounts.

Seems like we would just need to modify the build system to not
install `nfs-server.service` and other NFSv3-only service files and
modify the remaining service files to reference nfsv4-server.service
instead?
Or we break up nfs-utils into 5 packages... nfs-common, which would
be used by nfsv3-client, nfsv3-sever, nfsv4-client and nfsv4-server.

Not clear other distros would be happy with that.


Unfortunately the idea of having a nfsv4 only server
did not go over well with upstream.

Which upstream do you mean? nfs-utils, Linux kernel?
The NFS server maintainers... they didn't push back hard
but the didn't it was necessary.


But, I will be more than willing to work with you to make it work.

Thanks!

We have a virtual Bakeathon [1] coming at the end of the month
Maybe this would be a topic for Talks at 2pm [2].

steved.

[1] http://www.nfsv4bat.org/Events/2023/Oct/BAT/index.html
[2] https://docs.google.com/spreadsheets/d/1-wmA_t4fp7X5WvshYPnB-0vHeMpoQMohim2Kb7Gx9z0/edit#gid=1920779269





[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