[nfs-ganesha PATCH v3 00/13] experimental rados_cluster recovery backend
by Jeff Layton
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
6 years, 7 months
Proposal to EOL nfs-ganesha-2.5 on 2018-12-31
by Kaleb S. KEITHLEY
Hi,
As per the discussion on the weekly conference call today, this is
notice (a proposal?) that the NFS-Ganesha 2.5 branch will reach
End-Of-Life on 2018-12-31 and no further maintenance activities by the
project will occur; e.g. no patches will be merged, or back-ported from
later branches, no tags will be made in the git repo, no community
packages will be built, etc.
This is independent of any downstream maintenance that vendors may need
to do for their products. They may have to carry Downstream-Only patches
for the remaining life of their products.
People who want to use supported software should plan to update to the
NFS-Ganesha-2.6 stable release, or the NFS-Ganesha-2.7 active
development branch.
If you have any questions please post them to the devel mailing list at
devel(a)lists.nfs-ganesha.org
Thanks,
--
Kaleb
6 years, 7 months
Change in ffilz/nfs-ganesha[next]: IGNORE ME THREE
by GerritHub
From Frank Filz <ffilzlnx(a)mindspring.com>:
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/410473
Change subject: IGNORE ME THREE
......................................................................
IGNORE ME THREE
Change-Id: I994bd7430a71edcad3ffd190fa85a5b71285239b
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/CMakeLists.txt
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/73/410473/1
--
To view, visit https://review.gerrithub.io/410473
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I994bd7430a71edcad3ffd190fa85a5b71285239b
Gerrit-Change-Number: 410473
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
6 years, 7 months
Re: FD reuse in NFSv3
by Frank Filz
> My NFS client does not retry I/O.
> Ganesha is reusing FD instead of opening file for every read request.
> Sometimes it closes the fd even when there is a worker waiting still in
> read() call on the same fd. As a result that worker returns read error and
> ganesha drops the RPC. NFS client does not get any reply and it eventually
times
> out the I/O.
>
> I see 2 solutions.
>
> 1. NFS client implement I/O retry
> 2. Ganesha open the file and try read again when file not opened error is
> returned by FSAL.
> 3. Ganesha open the file for every read RPC instead of reusing FD.
>
> NFS client is a legacy implementation and it is not going to be fixed.
> Is there a way to achieve solutions 2 or 3?
What version of Ganesha are you using? Which FSAL?
Thanks
Frank
p.s. also consider subscribing to the new listserve
6 years, 7 months
Announce Push of V2.7-dev.11
by Frank Filz
Branch next
Tag:V2.7-dev.10
Release Highlights
* A bunch of cleanup in recovery code
* nfsd: don't unregister the NFSv2 port
* RPCAL: size spn buffer large enough to hold any possible value
* admin_thread: shut down RPC services earlier
* FSAL_PROXY : fix open/create of existing file after a remount
* 2 new gtests
* bugfix: error when time is earlier than 1970.01.01
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
73da3e1 Frank S. Filz V2.7-dev.11
7af446a zhanghongzhou bugfix: error when time is earlier than 1970.01.01
bb18942 Girjesh Rajoria gtest/test_close2_latency: close2 latency
microbenchmark
4d21097 Girjesh Rajoria gtest/test_open2_latency: open2 latency
microbenchmark
8a81a0a Patrice LUCAS FSAL_PROXY : fix open/create of existing file after a
remount
7d10d18 Jeff Layton admin_thread: shut down RPC services earlier
2e78a29 Jeff Layton RPCAL: size spn buffer large enough to hold any possible
value
938a2b4 Jeff Layton recovery_rados: account for extensions to the OID names
54e948c Jeff Layton recovery_rados: fix up buffer handling in
rados_kv_append_val_rdfh
051cf18 Jeff Layton recovery_rados: eliminate rados_ng_add_revoke_fh
2ae4955 Jeff Layton recovery_fs_ng: size v4_recov_link more appropriately
37973c2 Jeff Layton recovery_fs: elminate recov_root variable
f3371f5 Jeff Layton nfsd: don't unregister the NFSv2 port
6 years, 7 months