summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2011-06-02 14:59:09 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-12 13:40:28 -0400
commit9aeda35fd643eba683fdb8dba8907fa796a85dda (patch)
treedf797ea6f4eca0601edcdf941ac678d11c79a07a /include/linux
parent7d9747947ae66d8f6a9a9a023a3a5e28df6a536e (diff)
downloadlwn-9aeda35fd643eba683fdb8dba8907fa796a85dda.tar.gz
lwn-9aeda35fd643eba683fdb8dba8907fa796a85dda.zip
NFS: added FREE_STATEID call
FREE_STATEID is used to tell the server that we want to free a stateid that no longer has any locks associated with it. This allows the client to reclaim locks without encountering edge conditions documented in section 8.4.3 of RFC 5661. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs4.h1
-rw-r--r--include/linux/nfs_xdr.h10
2 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
index efe07f7a8765..a3c4bc800dce 100644
--- a/include/linux/nfs4.h
+++ b/include/linux/nfs4.h
@@ -565,6 +565,7 @@ enum {
NFSPROC4_CLNT_LAYOUTRETURN,
NFSPROC4_CLNT_SECINFO_NO_NAME,
NFSPROC4_CLNT_TEST_STATEID,
+ NFSPROC4_CLNT_FREE_STATEID,
};
/* nfs41 types */
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index e696c1fb139a..209455561749 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1102,6 +1102,16 @@ struct nfs41_test_stateid_res {
struct nfs4_sequence_res seq_res;
};
+struct nfs41_free_stateid_args {
+ nfs4_stateid *stateid;
+ struct nfs4_sequence_args seq_args;
+};
+
+struct nfs41_free_stateid_res {
+ unsigned int status;
+ struct nfs4_sequence_res seq_res;
+};
+
#endif /* CONFIG_NFS_V4_1 */
struct nfs_page;