NFS: Discover NFSv4 server trunking when mounting
[linux-2.6-block.git] / fs / nfs / nfs4_fs.h
index 9cacc131a8a4e7d358e26592d07f0d058ba675f3..832503c7a00e285e6c10758c205f88f55c25eb29 100644 (file)
@@ -191,6 +191,8 @@ struct nfs4_state_recovery_ops {
        int (*establish_clid)(struct nfs_client *, struct rpc_cred *);
        struct rpc_cred * (*get_clid_cred)(struct nfs_client *);
        int (*reclaim_complete)(struct nfs_client *);
+       int (*detect_trunking)(struct nfs_client *, struct nfs_client **,
+               struct rpc_cred *);
 };
 
 struct nfs4_state_maintenance_ops {
@@ -320,9 +322,15 @@ extern void nfs4_renew_state(struct work_struct *);
 /* nfs4state.c */
 struct rpc_cred *nfs4_get_setclientid_cred(struct nfs_client *clp);
 struct rpc_cred *nfs4_get_renew_cred_locked(struct nfs_client *clp);
+int nfs4_discover_server_trunking(struct nfs_client *clp,
+                       struct nfs_client **);
+int nfs40_discover_server_trunking(struct nfs_client *clp,
+                       struct nfs_client **, struct rpc_cred *);
 #if defined(CONFIG_NFS_V4_1)
 struct rpc_cred *nfs4_get_machine_cred_locked(struct nfs_client *clp);
 struct rpc_cred *nfs4_get_exchange_id_cred(struct nfs_client *clp);
+int nfs41_discover_server_trunking(struct nfs_client *clp,
+                       struct nfs_client **, struct rpc_cred *);
 extern void nfs4_schedule_session_recovery(struct nfs4_session *, int);
 #else
 static inline void nfs4_schedule_session_recovery(struct nfs4_session *session, int err)