From: Malahal Naineni <malahal@us.ibm.com>
To: linux-nfs@vger.kernel.org
Subject: [RFC] [PATCH 00/13] NFS4 replication support
Date: Mon, 30 Jan 2012 13:29:42 -0600 [thread overview]
Message-ID: <1327951795-16400-1-git-send-email-malahal@us.ibm.com> (raw)
The following patch set supports NFS4 replication for read only file
systems. The beginning set of patches are derived from Chuck Lever's
migration tree. The later set of patches support replication from the
interface built from the migration patches. Simple testing shows that it
works!
Here are some issues that I already know. Hopefully all of them
including any new issues will be resolved with the help of this list.
1. Replacing a transport (rpc_xprt) needs waiting for all the pending
RPC tasks. This doesn't work for now.
2. In order to use the replicated server, in addition to replacing the
transport, we also clone a new nfs_client. Currently the old
nfs_client structure is not released. We can wait for all the active
commands and then release the nfs_client (needs more work!). Or
simply keep all old nfs_clients until nfs_free_server() is called and
then release them.
Regards, Malahal.
Chuck Lever (3):
SUNRPC: Add API to acquire source address
NFS: Add an API for cloning an nfs_client
NFS: Save root file handle in nfs_server
Malahal Naineni (6):
NFS: Store server locations for replication
NFS: Add replica servers to volumes proc file.
NFS: Add replace transport infrastructure for replication
NFS: Add replication capability to state manager thread.
NFS: Handle replication on a timeout error
NFS: Avoid spurious replication recoveries
Trond Myklebust (4):
SUNRPC: Allow temporary blocking of an rpc client
SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field
SUNRPC: Move clnt->cl_server into struct rpc_xprt
SUNRPC: Add a helper to switch the transport of the rpc_client
fs/nfs/callback.c | 3 +-
fs/nfs/callback_proc.c | 9 +-
fs/nfs/client.c | 84 +++++++-
fs/nfs/getroot.c | 3 +
fs/nfs/internal.h | 4 +
fs/nfs/nfs4_fs.h | 6 +
fs/nfs/nfs4namespace.c | 148 +++++++++++++
fs/nfs/nfs4proc.c | 69 ++++++-
fs/nfs/nfs4state.c | 39 +++-
fs/nfs/nfs4xdr.c | 16 +-
fs/nfs/super.c | 56 +++++
include/linux/nfs_fs_sb.h | 8 +
include/linux/nfs_xdr.h | 3 +
include/linux/sunrpc/clnt.h | 22 ++-
include/linux/sunrpc/debug.h | 11 +
include/linux/sunrpc/xprt.h | 2 +
net/sunrpc/clnt.c | 473 ++++++++++++++++++++++++++++++++++++-----
net/sunrpc/rpc_pipe.c | 5 +-
net/sunrpc/rpcb_clnt.c | 24 ++-
net/sunrpc/stats.c | 6 +-
net/sunrpc/xprt.c | 15 ++-
21 files changed, 902 insertions(+), 104 deletions(-)
--
1.7.8.3
next reply other threads:[~2012-01-30 19:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 19:29 Malahal Naineni [this message]
2012-01-30 19:29 ` [PATCH 01/13] SUNRPC: Allow temporary blocking of an rpc client Malahal Naineni
2012-01-30 19:29 ` [PATCH 02/13] SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field Malahal Naineni
2012-01-30 19:29 ` [PATCH 03/13] SUNRPC: Move clnt->cl_server into struct rpc_xprt Malahal Naineni
2012-01-30 19:29 ` [PATCH 04/13] SUNRPC: Add a helper to switch the transport of the rpc_client Malahal Naineni
2012-01-30 19:29 ` [PATCH 05/13] SUNRPC: Add API to acquire source address Malahal Naineni
2012-01-30 19:29 ` [PATCH 06/13] NFS: Add an API for cloning an nfs_client Malahal Naineni
2012-01-30 19:29 ` [PATCH 07/13] NFS: Save root file handle in nfs_server Malahal Naineni
2012-01-30 19:29 ` [PATCH 08/13] NFS: Store server locations for replication Malahal Naineni
2012-01-30 19:29 ` [PATCH 09/13] NFS: Add replica servers to volumes proc file Malahal Naineni
2012-01-30 19:29 ` [PATCH 10/13] NFS: Add replace transport infrastructure for replication Malahal Naineni
2012-01-30 19:29 ` [PATCH 11/13] NFS: Add replication capability to state manager thread Malahal Naineni
2012-01-30 19:29 ` [PATCH 12/13] NFS: Handle replication on a timeout error Malahal Naineni
2012-01-30 19:29 ` [PATCH 13/13] NFS: Avoid spurious replication recoveries Malahal Naineni
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=1327951795-16400-1-git-send-email-malahal@us.ibm.com \
--to=malahal@us.ibm.com \
--cc=linux-nfs@vger.kernel.org \
/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).