Page MenuHomeFreeBSD

Allow nfsuserd(8) to optionally run in vnet prison
AbandonedPublic

Authored by rmacklem on Dec 27 2022, 12:00 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Sep 2, 5:35 AM
Unknown Object (File)
Mon, Sep 2, 3:39 AM
Unknown Object (File)
Aug 27 2024, 2:46 AM
Unknown Object (File)
Aug 18 2024, 4:35 PM
Unknown Object (File)
Aug 10 2024, 5:57 AM
Unknown Object (File)
Aug 5 2024, 12:07 AM
Unknown Object (File)
Aug 4 2024, 10:25 PM
Unknown Object (File)
Jul 31 2024, 2:15 PM
Subscribers

Details

Reviewers
bz
jamie
asomers
Summary

D37519 allows mountd/nfsd to run in a vnet prison
when the kernel is built with the VNET_NFSD option
and "allow.nfsd" is specified in /etc/jail.conf.

This patch is intended to be applied on top of D37519
to allow nfsuserd(8) to run in the vnet prison along
with mountd/nfsd.

The only daemon not yet done is gssd(8) for Kerberized
NFS. I have coded that, but since I do not currently
have a KDC set up, it won't be tested for a while.

Test Plan

nfsuserd(8) was run both within and outside of an
appropriately configured vnet prison.
Trying to start nfsuserd(8) in a prison not configured
to run mountd/nfsd was also tested and it was
verified to fail to start up.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

nfsv4_loadattr() is called by the client as well as the
server. As such, it needs a NFSD_CURVNET_SET_QUIET()
and NFSD_CURVNET_RESTORE(), so that NFS clients
don't cause a crash.

These changes are now a part of D37519.