android_kernel_motorola_sm6225/fs/nfs
Trond Myklebust 565277f63c NFS: Fix a race in sillyrename
lookup() and sillyrename() can race one another because the sillyrename()
completion cannot take the parent directory's inode->i_mutex since the
latter may be held by whoever is calling dput().

We therefore have little option but to add extra locking to ensure that
nfs_lookup() and nfs_atomic_open() do not race with the sillyrename
completion.
If somebody has looked up the sillyrenamed file in the meantime, we just
transfer the sillydelete information to the new dentry.

Please refer to the bug-report at
	http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2007-10-19 17:19:16 -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
callback_proc.c
callback_xdr.c NFSv4: debug print ntohl(status) in nfs client callback xdr code 2007-07-19 15:21:40 -04:00
client.c mm: bdi init hooks 2007-10-17 08:42:45 -07:00
delegation.c NFSv4: Fix a typo in nfs_inode_reclaim_delegation 2007-10-11 15:11:51 -04:00
delegation.h NFSv4: Use RCU to protect delegations 2007-07-10 23:40:41 -04:00
dir.c NFS: Fix a race in sillyrename 2007-10-19 17:19:16 -04:00
direct.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
file.c nfs: convert to new aops 2007-10-16 09:42:57 -07:00
getroot.c NFS: Fix an Oops in encode_lookup() 2007-09-28 15:36:42 -07:00
idmap.c NFS: use __set_current_state() 2007-05-09 17:58:01 -04:00
inode.c NFS: Fix a race in sillyrename 2007-10-19 17:19:16 -04:00
internal.h NFS: use in-kernel mount argument structure for nfsv4 mounts 2007-10-09 17:17:28 -04:00
iostat.h
Makefile [NFS] [PATCH] nfs: tiny makefile cleanup 2007-10-09 17:15:36 -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 NFS: Fix use of cancel_delayed_work_sync in nfs_release_automount_timer 2007-09-01 10:14:36 -04:00
nfs2xdr.c SUNRPC: mark bulk read/write data in xdrbuf 2007-10-09 17:17:34 -04:00
nfs3acl.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
nfs3proc.c NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode 2007-10-09 17:20:45 -04:00
nfs3xdr.c SUNRPC: mark bulk read/write data in xdrbuf 2007-10-09 17:17:34 -04:00
nfs4_fs.h NFSv4: 'constify' lookup arguments. 2007-07-19 15:09:03 -04:00
nfs4namespace.c
nfs4proc.c NFS: Fix a race in sillyrename 2007-10-19 17:19:16 -04:00
nfs4renewd.c NFS: Replace flush_scheduled_work with cancel_work_sync() and friends 2007-08-07 16:12:50 -04:00
nfs4state.c NFS: Replace file->private_data with calls to nfs_file_open_context() 2007-10-09 17:18:31 -04:00
nfs4xdr.c NFSv4: Make NFSv4 ACCESS calls return attributes too... 2007-10-09 17:18:38 -04:00
nfsroot.c NFS/SUNRPC: use transport protocol naming 2007-10-09 17:17:53 -04:00
pagelist.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
proc.c NFS: Fake up 'wcc' attributes to prevent cache invalidation after write 2007-10-09 17:19:15 -04:00
read.c NFS: Fix atime revalidation in read() 2007-10-09 17:19:06 -04:00
super.c NFS: Show "nointr" mount option 2007-10-09 17:18:17 -04:00
symlink.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sysctl.c
unlink.c NFS: Fix a race in sillyrename 2007-10-19 17:19:16 -04:00
write.c NFS: Fix a writeback race... 2007-10-19 17:18:57 -04:00