summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-02-26 06:50:27 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-02-26 06:50:27 -0800
commit718f6bfc1c08935997abfc30182b42f9474a97f9 (patch)
treed3818fecfb5ccbb4d12ab47ca3e08c89660e0a3f /include/linux
parent11a4f276ddad404804dab5a34f97b161b6c7cec8 (diff)
[PATCH] kNFSd: Enforce open_downgrade requirement
From: NeilBrown <neilb@cse.unsw.edu.au> The spec requires that the access and deny bits requested in open_downgrade represent the union of the bits for some subset of the OPENS for the given open_owner and file. Enforce that requirement.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs4.h1
-rw-r--r--include/linux/nfsd/state.h8
2 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
index 72c2a08c09ed..e8ea2239a213 100644
--- a/include/linux/nfs4.h
+++ b/include/linux/nfs4.h
@@ -37,6 +37,7 @@
#define NFS4_SHARE_ACCESS_BOTH 0x0003
#define NFS4_SHARE_DENY_READ 0x0001
#define NFS4_SHARE_DENY_WRITE 0x0002
+#define NFS4_SHARE_DENY_BOTH 0x0003
#define NFS4_SET_TO_SERVER_TIME 0
#define NFS4_SET_TO_CLIENT_TIME 1
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h
index 27febf82dfca..4598b9756668 100644
--- a/include/linux/nfsd/state.h
+++ b/include/linux/nfsd/state.h
@@ -170,8 +170,8 @@ struct nfs4_file {
* st_perfile: file_hashtbl[] entry.
* st_perfile_state: nfs4_stateowner->so_perfilestate
* st_perlockowner: (open stateid) list of lock nfs4_stateowners
-* st_share_access: used only for open stateid
-* st_share_deny: used only for open stateid
+* st_access_bmap: used only for open stateid
+* st_deny_bmap: used only for open stateid
*/
struct nfs4_stateid {
@@ -184,8 +184,8 @@ struct nfs4_stateid {
stateid_t st_stateid;
struct file st_vfs_file;
int st_vfs_set;
- unsigned int st_share_access;
- unsigned int st_share_deny;
+ unsigned long st_access_bmap;
+ unsigned long st_deny_bmap;
};
/* flags for preprocess_seqid_op() */