From: "J. Bruce Fields" <bfields@fieldses.org>
To: Scott Mayhew <smayhew@redhat.com>
Cc: steved@redhat.com, jlayton@kernel.org, linux-nfs@vger.kernel.org
Subject: Re: [nfs-utils PATCH RFC v3 0/8] restore nfsdcld
Date: Tue, 16 Apr 2019 12:46:45 -0400 [thread overview]
Message-ID: <20190416164645.GC3430@fieldses.org> (raw)
In-Reply-To: <20190326220730.3763-1-smayhew@redhat.com>
I've really only skimmed the changelogs and documentation and such, but
that all looks good to me, and I'm still expecting to commit the
kernel-side patches for 5.2, so I'm favor of these nfs-utils patches
instead, as long as they look good to Steve.
--b.
On Tue, Mar 26, 2019 at 06:07:22PM -0400, Scott Mayhew wrote:
> When nfsdcld was released, it was quickly deprecated in favor of the
> nfsdcltrack usermodehelper, so as to not require another running daemon.
> The nfsdcld code was removed from nfs-utils in 2012. That prevents
> NFSv4 clients from reclaiming locks from nfsd's running in containers,
> since neither nfsdcltrack nor the legacy client tracking code work in
> containers. These patches restore the nfsdcld code.
>
> These patches are intended to go alongside some kernel patches that
> introduce an enhancement that allows nfsd to "slurp" up the client
> records during client tracking initialization and store them internally
> in hash table. This enables nfsd to check whether an NFSv4 client is
> allowed to reclaim without having to do an upcall to nfsdcld. It also
> allows nfsd to decide to end the v4 grace period early if the number of
> RECLAIM_COMPLETE operations it has received from "known" clients is
> equal to the number of entries in the hash table. It also allows nfsd
> to skip the v4 grace period altogether if it knows there are no clients
> allowed to reclaim.
>
> The new nfsdcld code will work with older kernels, however in that case
> there is no ability for nfsd to exit the grace period early or skip the
> grace period altogether.
>
> v3:
> - removed PathExists restriction from the nfsdcld.service file
> - added the ability to do a one-time upgrade from older client tracking
> methods (i.e. nfsdcltrack and/or the legacy v4recovery dir)
> v2:
> - Use sqlite3_column_int64() instead of sqlite3_column_int() to query
> the current & recovery values from the grace table
> - Uncommented the nfsdcld section header in nfs.conf
>
> Scott Mayhew (8):
> Revert "nfsdcltrack: remove the nfsdcld daemon"
> nfsdcld: move nfsdcld to its own directory
> nfsdcld: a few enhancements
> nfsdcld: remove some unused functions
> nfsdcld: the -p option should specify the rpc_pipefs mountpoint
> nfsdcld: add /etc/nfs.conf support
> systemd: add a unit file for nfsdcld
> nfsdcld: add a facility for migrating from older client tracking
> methods
>
> .gitignore | 1 +
> configure.ac | 23 +
> nfs.conf | 4 +
> support/include/cld.h | 1 +
> systemd/nfs-server.service | 2 +
> systemd/nfsdcld.service | 10 +
> utils/Makefile.am | 4 +
> utils/nfsdcld/Makefile.am | 19 +
> utils/nfsdcld/cld-internal.h | 33 +
> utils/nfsdcld/legacy.c | 180 ++++++
> utils/nfsdcld/legacy.h | 24 +
> utils/nfsdcld/nfsdcld.c | 774 ++++++++++++++++++++++++
> utils/nfsdcld/nfsdcld.man | 199 ++++++
> utils/nfsdcld/sqlite.c | 1109 ++++++++++++++++++++++++++++++++++
> utils/nfsdcld/sqlite.h | 35 ++
> 15 files changed, 2418 insertions(+)
> create mode 100644 systemd/nfsdcld.service
> create mode 100644 utils/nfsdcld/Makefile.am
> create mode 100644 utils/nfsdcld/cld-internal.h
> create mode 100644 utils/nfsdcld/legacy.c
> create mode 100644 utils/nfsdcld/legacy.h
> create mode 100644 utils/nfsdcld/nfsdcld.c
> create mode 100644 utils/nfsdcld/nfsdcld.man
> create mode 100644 utils/nfsdcld/sqlite.c
> create mode 100644 utils/nfsdcld/sqlite.h
>
> --
> 2.17.2
next prev parent reply other threads:[~2019-04-16 16:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-26 22:07 [nfs-utils PATCH RFC v3 0/8] restore nfsdcld Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 1/8] Revert "nfsdcltrack: remove the nfsdcld daemon" Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 2/8] nfsdcld: move nfsdcld to its own directory Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 3/8] nfsdcld: a few enhancements Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 4/8] nfsdcld: remove some unused functions Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 5/8] nfsdcld: the -p option should specify the rpc_pipefs mountpoint Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 6/8] nfsdcld: add /etc/nfs.conf support Scott Mayhew
2020-04-02 3:23 ` Yongcheng Yang
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 7/8] systemd: add a unit file for nfsdcld Scott Mayhew
2019-03-26 22:07 ` [nfs-utils PATCH RFC v3 8/8] nfsdcld: add a facility for migrating from older client tracking methods Scott Mayhew
2019-04-16 16:46 ` J. Bruce Fields [this message]
2019-04-16 18:23 ` [nfs-utils PATCH RFC v3 0/8] restore nfsdcld 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=20190416164645.GC3430@fieldses.org \
--to=bfields@fieldses.org \
--cc=jlayton@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=smayhew@redhat.com \
--cc=steved@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).