All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Dickson <steved@redhat.com>
To: Linux NFS Mailing list <linux-nfs@vger.kernel.org>
Subject: [PATCH 0/5 V1] exportd: The NFSv4 only mounting daemon.
Date: Tue,  9 Feb 2021 16:23:37 -0500	[thread overview]
Message-ID: <20210209212342.233111-1-steved@redhat.com> (raw)

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.

Outstanding work that still needs be addressed:
    * Should exportd also process mountd nfs.conf
      sections, that exportd supports? This would 
      make the current nfs.conf sections backward 
      compatible but could cause confusion.

    * How to make the current mountd work injunction
      with exportd. Meaning how to stop mountd from 
      listening for v4 upcalls when exportd is running. 
      This would also allow a v3 only package. It would 
      be nice if this was dynamic verse using a compile 
      switch. Not sure how to do that.

    * Stopping rpc.nfsd from failing when rpc.bind is 
      not running. A nfs.config.d/nfs.conf file was
      used to turned off v3 for testing but that 
      seems a bit clunky.
    
    * The exportd(8) man page could probably used some work.

    * No systemd unit files exists. In theory the only processes
      that would be needed are exportfs, rpc.nfsd and exportd.

Steve Dickson (5):
  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

 .gitignore                                |   1 +
 configure.ac                              |   1 +
 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/nfs.conf.man                      |  10 +
 utils/Makefile.am                         |   1 +
 utils/exportd/Makefile.am                 |  63 +++++
 utils/exportd/exportd.c                   | 276 ++++++++++++++++++++++
 utils/exportd/exportd.man                 |  81 +++++++
 utils/exportfs/exportfs.c                 |  25 +-
 utils/exportfs/exportfs.man               |   7 +-
 utils/mountd/Makefile.am                  |   5 +-
 18 files changed, 543 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 utils/exportd/Makefile.am
 create mode 100644 utils/exportd/exportd.c
 create mode 100644 utils/exportd/exportd.man

-- 
2.29.2


             reply	other threads:[~2021-02-09 22:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09 21:23 Steve Dickson [this message]
2021-02-09 21:23 ` [PATCH 1/5] exportd: the initial shell of the v4 export support Steve Dickson
2021-02-09 21:23 ` [PATCH 2/5] exportd: Moved cache upcalls routines into libexport.a Steve Dickson
2021-02-09 21:23 ` [PATCH 3/5] exportd: multiple threads Steve Dickson
2021-02-09 21:23 ` [PATCH 4/5] exportd/exportfs: Add the state-directory-path option Steve Dickson
2021-02-09 21:23 ` [PATCH 5/5] exportd: Enabled junction support Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210209212342.233111-1-steved@redhat.com \
    --to=steved@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.