[PATCH v3 00/10] nfsdcld: add a daemon to track NFSv4 client names on stable storage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux