diff options
| author | Neil Brown <neilb@cse.unsw.edu.au> | 2003-09-22 05:23:13 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-09-22 05:23:13 -0700 |
| commit | 754bc7682bfe6a877785a1248bf899b097984a11 (patch) | |
| tree | 0effaeda4614db37f55646ca75e15e28ab58d4d9 /include/linux | |
| parent | 50676cf4aae7dc2080b9499e3e3afa4712adc255 (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/linux')
| -rw-r--r-- | include/linux/nfsd/xdr4.h | 14 |
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 /* |
