linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


             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).