linux-sg2042/fs/nfs
Trond Myklebust b37b03b705 NFS: Fix a spinlock recursion inside nfs_update_inode()
In cases where the server has gone insane, nfs_update_inode() may end
 up calling nfs_invalidate_inode(), which again calls stuff that takes
 the inode->i_lock that we're already holding.

 In addition, given the sort of things we have in NFS these days that
 need to be cleaned up on inode release, I'm not sure we should ever
 be calling make_bad_inode().

 Fix up spinlock recursion, and limit nfs_invalidate_inode() to clearing
 the caches, and marking the inode as being stale.

 Thanks to Steve Dickson <SteveD@redhat.com> for spotting this.

 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-11-25 17:11:29 -05:00
..
Makefile [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
callback.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
callback_proc.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback_xdr.c [PATCH] NFSv4: Fix an Oops in the callback code. 2005-06-22 16:07:29 -04:00
delegation.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
delegation.h NFSv4: Recover locks too when returning a delegation 2005-11-04 15:38:11 -05:00
dir.c NFSv4: Return any delegations before sillyrenaming the file 2005-11-04 15:35:02 -05:00
direct.c NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00
file.c NFS: Optimise attribute revalidation on close(). 2005-10-27 22:12:41 -04:00
idmap.c Revert "[PATCH] RPC,NFS: new rpc_pipefs patch" 2005-09-23 12:39:00 -04:00
inode.c NFS: Fix a spinlock recursion inside nfs_update_inode() 2005-11-25 17:11:29 -05:00
mount_clnt.c [PATCH] RPC: Make rpc_create_client() destroy the transport on failure. 2005-06-22 16:07:03 -04:00
nfs2xdr.c NFS: Optimise inode attribute cache updates 2005-10-27 22:12:39 -04:00
nfs3acl.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
nfs3proc.c NFS: Don't let nfs_end_data_update() clobber attribute update information 2005-10-27 22:12:39 -04:00
nfs3xdr.c NFS: Optimise inode attribute cache updates 2005-10-27 22:12:39 -04:00
nfs4_fs.h NFSv4: Fix problem with OPEN_DOWNGRADE 2005-11-04 15:33:38 -05:00
nfs4proc.c NFSv4: Fix typo in lock caching 2005-11-25 17:11:29 -05:00
nfs4renewd.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
nfs4state.c NFSv4: Fix buggy nfs_wait_on_sequence() 2005-11-25 17:11:28 -05:00
nfs4xdr.c NFSv4: Convert unnecessary XDR warning messages into dprintk() 2005-10-27 22:12:45 -04:00
nfsroot.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
pagelist.c [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
proc.c NFS: Don't let nfs_end_data_update() clobber attribute update information 2005-10-27 22:12:39 -04:00
read.c NFSv4: Fix problem with OPEN_DOWNGRADE 2005-11-04 15:33:38 -05:00
symlink.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
unlink.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
write.c NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00