[PATCH v4 00/11] 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:

- the daemon will now reopen the pipe if it's deleted and recreated. This
  can happen if knfsd is restarted.

- The daemon now implements an "init" upcall. When knfsd starts, it will
  upcall to userspace to ask for a "boot_generation" value. nfsdcld will
  fetch that value out of the DB, increment it and reinsert it (atomically).
  That guarantees uniqueness of the boot generation value even when multiple
  machines are sharing the same nfsdcld db.

- the "create" and "check" upcalls now send the rowid of the record in the
  downcall. Eventually the kernel will use this to track some info about
  lockowners in some situations. For now the kernel ignores this value,
  but the daemon passes it anyway.

- "remove" functionality has been removed from the daemon. The upcall that
  previously requested that has been removed, so we have no need for that
  functionality in the daemon. Client records are now only removed when
  the grace period ends.

Jeff Layton (11):
  nfsdcld: add client tracking daemon stub
  nfsdcld: add autoconf goop for sqlite
  nfsdcld: add routines for a sqlite backend database
  nfsdcld: add check/update functionality
  nfsdcld: add function to remove unreclaimed client records
  nfsdcld: have daemon pass client row index back to kernel
  nfsdcld: implement an init upcall
  nfsdcld: allow daemon to wait for pipe to show up
  nfsdcld: reopen pipe if it's deleted and recreated
  nfsdcld: add a manpage for nfsdcld
  nfsdcld: update the README

 README                    |   25 +++-
 aclocal/libsqlite3.m4     |   33 +++
 configure.ac              |   21 ++
 utils/Makefile.am         |    4 +
 utils/nfsdcld/Makefile.am |   14 ++
 utils/nfsdcld/nfsdcld.c   |  478 +++++++++++++++++++++++++++++++++++++++++++++
 utils/nfsdcld/nfsdcld.man |  180 +++++++++++++++++
 utils/nfsdcld/nfsdcld.pod |   67 +++++++
 utils/nfsdcld/sqlite.c    |  461 +++++++++++++++++++++++++++++++++++++++++++
 utils/nfsdcld/sqlite.h    |   31 +++
 10 files changed, 1312 insertions(+), 2 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

-- 
1.7.7.5

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