From: Jeff Layton <jlayton@redhat.com>
To: bfields@fieldses.org, steved@redhat.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v3 00/10] nfsdcld: add a daemon to track NFSv4 client names on stable storage
Date: Wed, 21 Dec 2011 15:35:12 -0500 [thread overview]
Message-ID: <1324499722-10363-1-git-send-email-jlayton@redhat.com> (raw)
This patchset is the userspace portion of the knfsd client name tracking
overhaul. See this patch series for an explanation:
nfsd: overhaul the client name tracking code
The main changes from the last set are:
- a bunch of cleanups and better patch "division" for bisectability
- the daemon will downcall with an error now when given an upcall
command that it doesn't recognize
- it now uses inotify to wait for the pipe instead of polling
- more comprehensive autoconf tests for required headers and libraries
- it's disabled from the build by default. You need to configure with
--enable-nfsdcld to turn it on. Steve felt that this would help smooth
the transition for distro packagers.
- a manpage and README update have been added
The daemon listens for upcalls on the rpc_pipefs pipe using libevent,
and handles the requests from the kernel.
The data is stored using a sqlite database. The main reason for this is
that it takes care of most of the fussy details and atomicity concerns
of tracking the information on stable storage.
For now, the daemon is only suitable for single-host configurations.
My plan is to later extend this to be suitable for clustered
configurations as well.
At this point, I think the daemon is ready for inclusion. It would be
good for it to make the next nfs-utils release to coincide with the
kernel patches going into 3.3.
Jeff Layton (10):
autoconf: fix up libevent autoconf test
nfsdcld: add client tracking daemon stub
nfsdcld: add autoconf goop for sqlite
nfsdcld: add routines for a sqlite backend database
nfsdcld: add remove functionality
nfsdcld: add check/update functionality
nfsdcld: add function to remove unreclaimed client records
nfsdcld: allow daemon to wait for pipe to show up
nfsdcld: add a manpage for nfsdcld
nfsdcld: update the README
README | 25 +++-
aclocal/libevent.m4 | 3 +-
aclocal/libsqlite3.m4 | 33 ++++
configure.ac | 21 +++
utils/Makefile.am | 4 +
utils/idmapd/Makefile.am | 2 +-
utils/nfsdcld/Makefile.am | 14 ++
utils/nfsdcld/nfsdcld.c | 410 +++++++++++++++++++++++++++++++++++++++++++++
utils/nfsdcld/nfsdcld.man | 180 ++++++++++++++++++++
utils/nfsdcld/nfsdcld.pod | 67 ++++++++
utils/nfsdcld/sqlite.c | 385 ++++++++++++++++++++++++++++++++++++++++++
utils/nfsdcld/sqlite.h | 29 ++++
12 files changed, 1169 insertions(+), 4 deletions(-)
create mode 100644 aclocal/libsqlite3.m4
create mode 100644 utils/nfsdcld/Makefile.am
create mode 100644 utils/nfsdcld/nfsdcld.c
create mode 100644 utils/nfsdcld/nfsdcld.man
create mode 100644 utils/nfsdcld/nfsdcld.pod
create mode 100644 utils/nfsdcld/sqlite.c
create mode 100644 utils/nfsdcld/sqlite.h
next reply other threads:[~2011-12-21 20:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-21 20:35 Jeff Layton [this message]
2011-12-21 20:35 ` [PATCH v3 01/10] autoconf: fix up libevent autoconf test Jeff Layton
2011-12-21 20:35 ` [PATCH v3 02/10] nfsdcld: add client tracking daemon stub Jeff Layton
2011-12-21 20:35 ` [PATCH v3 03/10] nfsdcld: add autoconf goop for sqlite Jeff Layton
2011-12-21 20:35 ` [PATCH v3 04/10] nfsdcld: add routines for a sqlite backend database Jeff Layton
2011-12-21 20:35 ` [PATCH v3 05/10] nfsdcld: add remove functionality Jeff Layton
2011-12-21 20:35 ` [PATCH v3 06/10] nfsdcld: add check/update functionality Jeff Layton
2011-12-21 20:35 ` [PATCH v3 07/10] nfsdcld: add function to remove unreclaimed client records Jeff Layton
2011-12-21 20:35 ` [PATCH v3 08/10] nfsdcld: allow daemon to wait for pipe to show up Jeff Layton
2011-12-21 20:35 ` [PATCH v3 09/10] nfsdcld: add a manpage for nfsdcld Jeff Layton
2011-12-21 20:35 ` [PATCH v3 10/10] nfsdcld: update the README Jeff Layton
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=1324499722-10363-1-git-send-email-jlayton@redhat.com \
--to=jlayton@redhat.com \
--cc=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--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).