diff options
Diffstat (limited to 'fs/nfs/inode.c')
| -rw-r--r-- | fs/nfs/inode.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index e358df75a6ad..50a56edca0b5 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -36,6 +36,7 @@  #include <linux/vfs.h>  #include <linux/inet.h>  #include <linux/nfs_xdr.h> +#include <linux/slab.h>  #include <asm/system.h>  #include <asm/uaccess.h> @@ -622,10 +623,10 @@ struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_c  	list_for_each_entry(pos, &nfsi->open_files, list) {  		if (cred != NULL && pos->cred != cred)  			continue; -		if ((pos->mode & mode) == mode) { -			ctx = get_nfs_open_context(pos); -			break; -		} +		if ((pos->mode & (FMODE_READ|FMODE_WRITE)) != mode) +			continue; +		ctx = get_nfs_open_context(pos); +		break;  	}  	spin_unlock(&inode->i_lock);  	return ctx;  | 
