From: Jeff Layton <jlayton(a)redhat.com>
Another update to the patchset that I sent last week. This fixes a bug
that I found in testing in the last patchset and adds a manpage for the
rados_grace_tool program that allows manipulating the database. It also
adds new command-line options to that tool for changing the default
pool and grace DB oid.
I think this is getting quite close to being mergeable. At this point,
I mainly want to get feedback on the first 9 or so patches, which
extend the recovery_backend operations interface.
Do those changes look acceptable? All of the new ones should basically
be no-ops for any singleton backends, and are only used for the
clustered one.
Jeff Layton (13):
HASHTABLE: add a hashtable_for_each function
reaper: add a way to wake up the reaper immediately
main: initialize recovery backend earlier
SAL: make some rados_kv symbols public
SAL: add new try_lift_grace recovery operation
SAL: add recovery operation to maybe start a grace period
SAL: add new set_enforcing operation
SAL: add a way to check for grace period being enforced cluster-wide
main: add way to stall server until grace is being enforced
support: add a rados_grace support library
tools: add new rados_grace manipulation tool
SAL: add new clustered RADOS recovery backend
FSAL_CEPH: kill off old session before the mount
src/CMakeLists.txt | 1 +
src/FSAL/FSAL_CEPH/main.c | 39 ++
src/MainNFSD/nfs_init.c | 8 -
src/MainNFSD/nfs_lib.c | 13 +
src/MainNFSD/nfs_main.c | 12 +
src/MainNFSD/nfs_reaper_thread.c | 11 +
src/SAL/CMakeLists.txt | 3 +-
src/SAL/nfs4_recovery.c | 90 ++-
src/SAL/recovery/recovery_rados.h | 6 +
src/SAL/recovery/recovery_rados_cluster.c | 406 +++++++++++++
src/SAL/recovery/recovery_rados_kv.c | 12 +-
src/cmake/modules/FindCEPHFS.cmake | 8 +
src/doc/man/CMakeLists.txt | 5 +
src/doc/man/ganesha-core-config.rst | 1 +
src/doc/man/rados_grace_tool.rst | 108 ++++
src/hashtable/hashtable.c | 17 +
src/include/config-h.in.cmake | 1 +
src/include/hashtable.h | 3 +
src/include/nfs_core.h | 1 +
src/include/rados_grace.h | 85 +++
src/include/sal_functions.h | 11 +-
src/nfs-ganesha.spec-in.cmake | 3 +
src/support/CMakeLists.txt | 4 +
src/support/rados_grace.c | 675 ++++++++++++++++++++++
src/tools/CMakeLists.txt | 4 +
src/tools/rados_grace_tool.c | 203 +++++++
26 files changed, 1708 insertions(+), 22 deletions(-)
create mode 100644 src/SAL/recovery/recovery_rados_cluster.c
create mode 100644 src/doc/man/rados_grace_tool.rst
create mode 100644 src/include/rados_grace.h
create mode 100644 src/support/rados_grace.c
create mode 100644 src/tools/rados_grace_tool.c
--
2.17.0