summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2003-09-22 05:23:04 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-09-22 05:23:04 -0700
commit50676cf4aae7dc2080b9499e3e3afa4712adc255 (patch)
treee09e697576f6dcc5d635df2bf0b4cb765b94baf0 /include/linux
parented5dc775d0ddd209713ee8e24c46e648fb3ed2f2 (diff)
[PATCH] knfsd: nfsdv4 byte range locking - LOCKT
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> This implements the LOCKT operation.
Diffstat (limited to 'include/linux')
-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 bbb037e08f18..a39e3c2951e3 100644
--- a/include/linux/nfsd/xdr4.h
+++ b/include/linux/nfsd/xdr4.h
@@ -162,6 +162,17 @@ struct nfsd4_lock {
#define lk_resp_stateid u.ok.stateid
#define lk_denied u.denied
+
+struct nfsd4_lockt {
+ u32 lt_type;
+ clientid_t lt_clientid;
+ struct xdr_netobj lt_owner;
+ u64 lt_offset;
+ u64 lt_length;
+ struct nfs4_stateowner * lt_stateowner;
+ struct nfsd4_lock_denied lt_denied;
+};
+
struct nfsd4_lookup {
u32 lo_len; /* request */
char * lo_name; /* request */
@@ -318,6 +329,7 @@ struct nfsd4_op {
struct svc_fh * getfh;
struct nfsd4_link link;
struct nfsd4_lock lock;
+ struct nfsd4_lockt lockt;
struct nfsd4_lookup lookup;
struct nfsd4_verify nverify;
struct nfsd4_open open;
@@ -411,6 +423,8 @@ extern int nfsd4_open_downgrade(struct svc_rqst *rqstp,
struct svc_fh *current_fh, struct nfsd4_open_downgrade *od);
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);
#endif
/*