summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2003-09-22 05:23:13 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-09-22 05:23:13 -0700
commit754bc7682bfe6a877785a1248bf899b097984a11 (patch)
tree0effaeda4614db37f55646ca75e15e28ab58d4d9 /include
parent50676cf4aae7dc2080b9499e3e3afa4712adc255 (diff)
[PATCH] knfsd: nfsdv4 byte range locking - LOCKU
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> This implments the LOCKU operation. These all pass the connectathon lock test suite against the solaris nfsv4 client.
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfsd/xdr4.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h
index a39e3c2951e3..5140f2061b30 100644
--- a/include/linux/nfsd/xdr4.h
+++ b/include/linux/nfsd/xdr4.h
@@ -173,6 +173,17 @@ struct nfsd4_lockt {
struct nfsd4_lock_denied lt_denied;
};
+
+struct nfsd4_locku {
+ u32 lu_type;
+ u32 lu_seqid;
+ stateid_t lu_stateid;
+ u64 lu_offset;
+ u64 lu_length;
+ struct nfs4_stateowner *lu_stateowner;
+};
+
+
struct nfsd4_lookup {
u32 lo_len; /* request */
char * lo_name; /* request */
@@ -330,6 +341,7 @@ struct nfsd4_op {
struct nfsd4_link link;
struct nfsd4_lock lock;
struct nfsd4_lockt lockt;
+ struct nfsd4_locku locku;
struct nfsd4_lookup lookup;
struct nfsd4_verify nverify;
struct nfsd4_open open;
@@ -425,6 +437,8 @@ extern int nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_lock *lock);
extern int nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_lockt *lockt);
+extern int nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh,
+ struct nfsd4_locku *locku);
#endif
/*