> On Mar 2, 2021, at 5:39 PM, Steve Dickson <SteveD@xxxxxxxxxx> wrote: > > > > On 2/24/21 3:49 PM, J. Bruce Fields wrote: >> On Fri, Feb 19, 2021 at 03:08:08PM -0500, Steve Dickson wrote: >>> nfsv4.exportd is a daemon that will listen for only v4 mount upcalls. >>> The idea is to allow distros to build a v4 only package >>> which will have a much smaller footprint than the >>> entire nfs-utils package. >>> >>> exportd uses no RPC code, which means none of the >>> code or arguments that deal with v3 was ported, >>> this again, makes the footprint much smaller. >>> >>> The following options were ported: >>> * multiple threads >>> * state-directory-path option >>> * junction support (not tested) >>> >>> The rest of the mountd options were v3 only options. >>> >>> V2: >>> * Added two systemd services: nfsv4-exportd and nfsv4-server >>> * nfsv4-server starts rpc.nfsd -N 3, so nfs.conf mod not needed. >> >> We really shouldn't make users change how they do things. > If they only want v4 support... I'm thinking is a lot easier to > simple do a nfsv4.server start verse edit config files. > >> >> Whatever we do, "systemctl start nfs-server" should still be how they >> start the NFS server. > Again.. if they install the nfsv4-utils verse the nfs-utils package > they should expect change... IMHO.. I would prefer having a single nfs-utils package. I don't see a need for a proliferation of these extra little programs -- let's just make the usual suspects behave better. > steved. >> >> --b. >> >>> >>> V3: Changed the name from exportd to nfsv4.exportd >>> >>> V4: Added compile flag that will compile in the NFSv4 only server >>> >>> Steve Dickson (7): >>> exportd: the initial shell of the v4 export support >>> exportd: Moved cache upcalls routines into libexport.a >>> exportd: multiple threads >>> exportd/exportfs: Add the state-directory-path option >>> exportd: Enabled junction support >>> exportd: systemd unit files >>> exportd: Added config variable to compile in the NFSv4 only server. >>> >>> .gitignore | 1 + >>> configure.ac | 14 ++ >>> nfs.conf | 4 + >>> support/export/Makefile.am | 3 +- >>> {utils/mountd => support/export}/auth.c | 4 +- >>> {utils/mountd => support/export}/cache.c | 46 +++- >>> support/export/export.h | 34 +++ >>> {utils/mountd => support/export}/fsloc.c | 0 >>> {utils/mountd => support/export}/v4root.c | 0 >>> {utils/mountd => support/include}/fsloc.h | 0 >>> systemd/Makefile.am | 6 + >>> systemd/nfs.conf.man | 10 + >>> systemd/nfsv4-exportd.service | 12 + >>> systemd/nfsv4-server.service | 31 +++ >>> utils/Makefile.am | 4 + >>> utils/exportd/Makefile.am | 65 +++++ >>> utils/exportd/exportd.c | 276 ++++++++++++++++++++++ >>> utils/exportd/exportd.man | 81 +++++++ >>> utils/exportfs/exportfs.c | 21 +- >>> utils/exportfs/exportfs.man | 7 +- >>> utils/mountd/Makefile.am | 5 +- >>> 21 files changed, 606 insertions(+), 18 deletions(-) >>> rename {utils/mountd => support/export}/auth.c (99%) >>> rename {utils/mountd => support/export}/cache.c (98%) >>> create mode 100644 support/export/export.h >>> rename {utils/mountd => support/export}/fsloc.c (100%) >>> rename {utils/mountd => support/export}/v4root.c (100%) >>> rename {utils/mountd => support/include}/fsloc.h (100%) >>> create mode 100644 systemd/nfsv4-exportd.service >>> create mode 100644 systemd/nfsv4-server.service >>> create mode 100644 utils/exportd/Makefile.am >>> create mode 100644 utils/exportd/exportd.c >>> create mode 100644 utils/exportd/exportd.man >>> >>> -- >>> 2.29.2 -- Chuck Lever