diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-26 06:50:27 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-26 06:50:27 -0800 |
| commit | 718f6bfc1c08935997abfc30182b42f9474a97f9 (patch) | |
| tree | d3818fecfb5ccbb4d12ab47ca3e08c89660e0a3f /include/linux | |
| parent | 11a4f276ddad404804dab5a34f97b161b6c7cec8 (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.h | 1 | ||||
| -rw-r--r-- | include/linux/nfsd/state.h | 8 |
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() */ |
