linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Snapshot of client-side NFSv4 migration support
@ 2011-03-10 17:29 Chuck Lever
  2011-03-10 17:29 ` [PATCH 1/8] NFS: Add a lame client-side function to display file handles Chuck Lever
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Chuck Lever @ 2011-03-10 17:29 UTC (permalink / raw)
  To: linux-nfs

Here are some patches that move Linux towards client side support for
NFSv4.0 migration.  An earlier version of this patch set was
demonstrated at Connectathon 2011.  Think of this post as a request
for architectural review.

This set currently supports recovering from NFS4ERR_MOVED, and has
rudimentary support for NFS4ERR_LEASE_MOVED.  Recent versions of this
set have been tested with the prototype Solaris server migration
implementation (though this specific version of the set has not been
tested).

By default, the Solaris server implementation migrates state, so state
recovery after migration in this client is not yet supported or
tested.  It may work, somewhat, for certain nicely behaving cases.

There are still some protocol questions around state recovery after
migration, most immediately involving how clients should communicate
new callback endpoint information to the destination server in such a
way that existing leases are not broken.

In addition, the Solaris server implementation does not yet support
minor version 1, so this set has minor version 1 support sketched in,
but not fully implemented or tested.

These patches are on top of 2.6.38-rc8 with Trond's transport
swapping patches.  A full git repo with all these patches is available
here:

  http://git.linux-nfs.org/?p=cel/cel-2.6.git;a=commit;h=18d7665fd9c89268b4e15637df86e3b0c7144b29

This commit is tag "cel-03102011-1022".

---

Chuck Lever (8):
      NFS: Implement support for NFS4ERR_LEASE_MOVED
      NFS: Add migration recovery callouts in nfs4proc.c
      NFS: Remove "const" from "struct nfs_server *" fields
      NFS: Add basic migration support to state manager thread
      NFS: Add functions to swap transports during migration recovery
      NFS: Introduce nfs4_proc_get_mig_status()
      NFS: Save root file handle in nfs_server
      NFS: Add a lame client-side function to display file handles


 fs/nfs/client.c           |    2 +
 fs/nfs/getroot.c          |    6 ++
 fs/nfs/inode.c            |   44 ++++++++++++
 fs/nfs/internal.h         |    2 +
 fs/nfs/nfs4_fs.h          |    6 ++
 fs/nfs/nfs4namespace.c    |  162 +++++++++++++++++++++++++++++++++++++++++++++
 fs/nfs/nfs4proc.c         |  125 ++++++++++++++++++++++++++++++-----
 fs/nfs/nfs4state.c        |  150 ++++++++++++++++++++++++++++++++++++++++--
 fs/nfs/nfs4xdr.c          |   81 ++++++++++++++++++++++-
 include/linux/nfs4.h      |    1 
 include/linux/nfs_fs.h    |   13 ++++
 include/linux/nfs_fs_sb.h |    6 ++
 include/linux/nfs_xdr.h   |   35 ++++++----
 13 files changed, 593 insertions(+), 40 deletions(-)

-- 
Chuck Lever <chuck.lever@oracle.com>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-03-11 20:55 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-10 17:29 [PATCH 0/8] Snapshot of client-side NFSv4 migration support Chuck Lever
2011-03-10 17:29 ` [PATCH 1/8] NFS: Add a lame client-side function to display file handles Chuck Lever
2011-03-10 17:29 ` [PATCH 2/8] NFS: Save root file handle in nfs_server Chuck Lever
2011-03-10 17:29 ` [PATCH 3/8] NFS: Introduce nfs4_proc_get_mig_status() Chuck Lever
2011-03-10 19:58   ` Trond Myklebust
2011-03-10 20:14     ` Chuck Lever
2011-03-10 20:21       ` Chuck Lever
2011-03-10 17:30 ` [PATCH 4/8] NFS: Add functions to swap transports during migration recovery Chuck Lever
2011-03-10 17:30 ` [PATCH 5/8] NFS: Add basic migration support to state manager thread Chuck Lever
2011-03-10 20:35   ` Trond Myklebust
2011-03-10 20:40     ` Chuck Lever
2011-03-11 20:53     ` Chuck Lever
2011-03-10 17:30 ` [PATCH 6/8] NFS: Remove "const" from "struct nfs_server *" fields Chuck Lever
2011-03-10 17:30 ` [PATCH 7/8] NFS: Add migration recovery callouts in nfs4proc.c Chuck Lever
2011-03-10 17:30 ` [PATCH 8/8] NFS: Implement support for NFS4ERR_LEASE_MOVED Chuck Lever

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