[RFC] [PATCH 00/13] NFS4 replication support

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

 



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

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