I intend to pass this along to Linus as a 2.6.36 bugfix. This is one of several bugs that have been due to ignoring the existance of higher bits in the access mask. I wonder what we could change to eliminate the whole class of problems? Maybe store these bits into separate fields right away in the xdr decoding? --b. commit 8f34a430ac16d5fbd9d6b383184d35e152f5a963 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Sep 2 15:23:16 2010 -0400 nfsd4: mask out non-access bits in nfs4_access_to_omode This fixes an unnecessary BUG(). Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 3dfef06..cf0d2ff 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -440,7 +440,7 @@ test_share(struct nfs4_stateid *stp, struct nfsd4_open *open) { static int nfs4_access_to_omode(u32 access) { - switch (access) { + switch (access & NFS4_SHARE_ACCESS_BOTH) { case NFS4_SHARE_ACCESS_READ: return O_RDONLY; case NFS4_SHARE_ACCESS_WRITE: -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html