OSDN Git Service

NFS: Add nfs4_update_server
authorChuck Lever <chuck.lever@oracle.com>
Thu, 17 Oct 2013 18:12:28 +0000 (14:12 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 28 Oct 2013 19:22:29 +0000 (15:22 -0400)
commit32e62b7c3ef095eccbb6a8c96fddf05dacc749df
tree53b2abd3c507a3194fc76dd638e77202bacbb04d
parent40b00b6b17c412ff9ff28631250d32ee29ff0006
NFS: Add nfs4_update_server

New function nfs4_update_server() moves an nfs_server to a different
nfs_client.  This is done as part of migration recovery.

Though it may be appealing to think of them as the same thing,
migration recovery is not the same as following a referral.

For a referral, the client has not descended into the file system
yet: it has no nfs_server, no super block, no inodes or open state.
It is enough to simply instantiate the nfs_server and super block,
and perform a referral mount.

For a migration, however, we have all of those things already, and
they have to be moved to a different nfs_client.  No local namespace
changes are needed here.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/client.c
fs/nfs/internal.h
fs/nfs/nfs4client.c