linux/fs/nfs
Trond Myklebust 45328c354e NFS: Fix NFSv4 open stateid regressions
Do not allow cached open for O_RDONLY or O_WRONLY unless the file has been
previously opened in these modes.

Also Fix the calculation of the mode in nfs4_close_prepare. We should only
issue an OPEN_DOWNGRADE if we're sure that we will still be holding the
correct open modes. This may not be the case if we've been doing delegated
opens.

Finally, there is no need to adjust the open mode bit flags in
nfs4_close_done(): that has already been done in nfs4_close_prepare().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2007-08-07 15:13:19 -04:00
..
callback_proc.c [PATCH] fs/nfs/callback* passes error values big-endian 2006-10-20 10:26:40 -07:00
callback_xdr.c NFSv4: debug print ntohl(status) in nfs client callback xdr code 2007-07-19 15:21:40 -04:00
callback.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
callback.h NFS: Fix more sparse warnings 2007-05-14 19:33:46 -04:00
client.c Make NFS client use seq_list_xxx helpers 2007-07-16 09:05:42 -07:00
delegation.c NFSv4: Defer inode revalidation when setting up a delegation 2007-07-10 23:40:41 -04:00
delegation.h NFSv4: Use RCU to protect delegations 2007-07-10 23:40:41 -04:00
dir.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
direct.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
file.c locks: make posix_test_lock() interface more consistent 2007-07-18 19:17:19 -04:00
getroot.c NFS: Kill the obsolete NFS_PARANOIA 2007-05-09 17:58:01 -04:00
idmap.c NFS: use __set_current_state() 2007-05-09 17:58:01 -04:00
inode.c NFS: Fix put_nfs_open_context 2007-08-07 15:13:17 -04:00
internal.h NFS: Clean-up: use correct type when converting NFS blocks to local blocks 2007-07-10 23:40:44 -04:00
iostat.h NFSv4: Fix an oops in nfs4_fill_super 2006-03-20 13:44:48 -05:00
Makefile NFS: Remake nfsroot_mount as a permanent part of NFS client 2007-07-10 23:40:46 -04:00
mount_clnt.c NFS: Improve debugging output in NFS in-kernel mount client 2007-07-10 23:40:47 -04:00
namespace.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
nfs2xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfs3acl.c NFSv3: Client-side nfsacl caching fix 2006-06-09 09:34:11 -04:00
nfs3proc.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
nfs3xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfs4_fs.h NFSv4: 'constify' lookup arguments. 2007-07-19 15:09:03 -04:00
nfs4namespace.c NFSv4: /proc/mounts displays the wrong server name for referrals 2007-02-03 15:35:10 -08:00
nfs4proc.c NFS: Fix NFSv4 open stateid regressions 2007-08-07 15:13:19 -04:00
nfs4renewd.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
nfs4state.c NFSv4: Fix a locking regression in nfs4_set_mode_locked() 2007-08-07 15:13:18 -04:00
nfs4xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfsroot.c NFS: Remake nfsroot_mount as a permanent part of NFS client 2007-07-10 23:40:46 -04:00
pagelist.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
proc.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
read.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
super.c fix broken handling of port=... in NFS option parsing 2007-07-22 11:15:18 -07:00
symlink.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
write.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00