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. Whatever we do, "systemctl start nfs-server" should still be how they start the NFS server. --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