aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2013-10-17 14:13:30 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-10-28 15:30:03 -0400
commit44c9993384e9311cd56acf6ead3baffab616ae50 (patch)
tree3e7db3df6e09d1c4f06d107ced2b1b910852f645 /include
parent352297b917d8a3e61a778ffb0f0195ce8550d7f5 (diff)
NFS: Add method to detect whether an FSID is still on the server
Introduce a mechanism for probing a server to determine if an FSID is present or absent. The on-the-wire compound is different between minor version 0 and 1. Minor version 0 appends a RENEW operation to identify which client ID is probing. Minor version 1 has a SEQUENCE operation in the compound which effectively carries the same information. 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/nfs4.h1
-rw-r--r--include/linux/nfs_xdr.h13
2 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
index e36dee52f224..c56fa8fedce9 100644
--- a/include/linux/nfs4.h
+++ b/include/linux/nfs4.h
@@ -460,6 +460,7 @@ enum {
460 NFSPROC4_CLNT_FS_LOCATIONS, 460 NFSPROC4_CLNT_FS_LOCATIONS,
461 NFSPROC4_CLNT_RELEASE_LOCKOWNER, 461 NFSPROC4_CLNT_RELEASE_LOCKOWNER,
462 NFSPROC4_CLNT_SECINFO, 462 NFSPROC4_CLNT_SECINFO,
463 NFSPROC4_CLNT_FSID_PRESENT,
463 464
464 /* nfs41 */ 465 /* nfs41 */
465 NFSPROC4_CLNT_EXCHANGE_ID, 466 NFSPROC4_CLNT_EXCHANGE_ID,
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 405dfadcbc3b..8fe5b940c5f2 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1088,6 +1088,19 @@ struct nfs4_secinfo_res {
1088 struct nfs4_secinfo_flavors *flavors; 1088 struct nfs4_secinfo_flavors *flavors;
1089}; 1089};
1090 1090
1091struct nfs4_fsid_present_arg {
1092 struct nfs4_sequence_args seq_args;
1093 const struct nfs_fh *fh;
1094 clientid4 clientid;
1095 unsigned char renew:1;
1096};
1097
1098struct nfs4_fsid_present_res {
1099 struct nfs4_sequence_res seq_res;
1100 struct nfs_fh *fh;
1101 unsigned char renew:1;
1102};
1103
1091#endif /* CONFIG_NFS_V4 */ 1104#endif /* CONFIG_NFS_V4 */
1092 1105
1093struct nfstime4 { 1106struct nfstime4 {