summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2013-10-17 20:13:02 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-10-28 20:24:40 +0100
commitc9fdeb280b8cc511c6730db9ab3973331ea344e0 (patch)
treea0099ad6e1dd1873a2c0108107a2ed84f09618e1 /include
parentNFS: Add a super_block backpointer to the nfs_server struct (diff)
downloadlinux-c9fdeb280b8cc511c6730db9ab3973331ea344e0.tar.xz
linux-c9fdeb280b8cc511c6730db9ab3973331ea344e0.zip
NFS: Add basic migration support to state manager thread
Migration recovery and state recovery must be serialized, so handle both in the state manager thread. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_fs_sb.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 46b0cb4bee09..186ec4969313 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -79,6 +79,7 @@ struct nfs_client {
char cl_ipaddr[48];
u32 cl_cb_ident; /* v4.0 callback identifier */
const struct nfs4_minor_version_ops *cl_mvops;
+ unsigned long cl_mig_gen;
/* NFSv4.0 transport blocking */
struct nfs4_slot_table *cl_slot_tbl;
@@ -189,6 +190,12 @@ struct nfs_server {
struct list_head state_owners_lru;
struct list_head layouts;
struct list_head delegations;
+
+ unsigned long mig_gen;
+ unsigned long mig_status;
+#define NFS_MIG_IN_TRANSITION (1)
+#define NFS_MIG_FAILED (2)
+
void (*destroy)(struct nfs_server *);
atomic_t active; /* Keep trace of any activity to this server */