kernel-ark/fs
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
..
9p [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
adfs [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
affs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
afs fs/afs/callback.c should #include "cmservice.h" 2005-11-08 16:56:17 +01:00
autofs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
autofs4 [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
befs remove unused fs/befs/attribute.c 2005-11-08 16:54:53 +01:00
bfs
cifs [CIFS] Fix setattr of mode only (e.g. in some chmod cases) to Windows 2005-11-19 21:04:52 -08:00
coda
cramfs
debugfs
devfs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
devpts
efs
exportfs
ext2 [PATCH] ext2: remove duplicate newlines in ext2_fill_super 2005-11-13 18:14:17 -08:00
ext3 [PATCH] ext3: journal handling on error path in ext3_journalled_writepage() 2005-11-13 18:14:15 -08:00
fat [PATCH] fat: respect silent mount flag 2005-11-09 07:55:58 -08:00
freevxfs fs/freevxfs/: add #include's 2005-11-08 16:47:45 +01:00
fuse
hfs [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
hfsplus [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
hostfs [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
hpfs [PATCH] hpfs: remove spurious mtime update 2005-11-09 07:55:57 -08:00
hppfs
hugetlbfs [PATCH] Fix hugetlbfs_statfs() reporting of block limits 2005-11-22 09:13:43 -08:00
isofs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
jbd [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
jffs jffs_fm.c should #include "intrep.h" 2005-11-08 16:48:36 +01:00
jffs2 [PATCH] jffs2 debug gcc-2.9x fix 2005-11-23 16:08:39 -08:00
jfs
lockd [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
minix
msdos
ncpfs [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
nfs NFS: Fix a spinlock recursion inside nfs_update_inode() 2005-11-25 17:11:29 -05:00
nfs_common
nfsd [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
nls
ntfs
openpromfs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
partitions fs/partitions/ultrix.c should #include "ultrix.h" 2005-11-08 16:49:14 +01:00
proc [PATCH] Fix sparse warning in proc/task_mmu.c 2005-11-13 18:14:15 -08:00
qnx4
ramfs
reiserfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2005-11-11 16:29:22 -08:00
relayfs
romfs
smbfs
sysfs
sysv
udf [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
ufs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
vfat
xfs [XFS] Resolve the xlog_grant_log_space hang, revert inline to macro. 2005-11-25 16:42:28 +11:00
aio.c [PATCH] aio: replace locking comments with assert_spin_locked() 2005-11-13 18:14:16 -08:00
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
binfmt_elf.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c
buffer.c
char_dev.c
compat_ioctl.c [COMPAT] net: SIOCGIFCONF data corruption 2005-11-20 13:41:59 -08:00
compat.c [PATCH] Fix error handling with put_compat_statfs() 2005-11-22 09:13:43 -08:00
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c [PATCH] saner handling of auto_acct_off() and DQUOT_OFF() in umount 2005-11-07 18:18:09 -08:00
eventpoll.c
exec.c [PATCH] fix do_wait() vs exec() race 2005-11-23 16:08:39 -08:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
inode.c
inotify.c [PATCH] add a vfs_permission helper 2005-11-09 07:55:58 -08:00
ioctl.c
ioprio.c fs/ioprio.c should #include <linux/syscalls.h> 2005-11-08 16:57:02 +01:00
Kconfig [CIFS] Fix spaces in cifs kconfig entry 2005-11-10 19:36:39 -08:00
Kconfig.binfmt
libfs.c
locks.c [PATCH] VFS: local denial-of-service with file leases 2005-11-13 12:29:58 -05:00
Makefile [PATCH] beginning of the shared-subtree proper 2005-11-07 18:18:10 -08:00
mbcache.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
mpage.c
namei.c [PATCH] fs/namei.c: make path_lookup_create() static 2005-11-09 07:56:40 -08:00
namespace.c [PATCH] add a vfs_permission helper 2005-11-09 07:55:58 -08:00
nfsctl.c
open.c [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
pipe.c
pnode.c [PATCH] unbindable mounts 2005-11-07 18:18:11 -08:00
pnode.h [PATCH] unbindable mounts 2005-11-07 18:18:11 -08:00
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
readdir.c
select.c
seq_file.c [PATCH] allow callers of seq_open do allocation themselves 2005-11-07 18:18:09 -08:00
stat.c
super.c [PATCH] saner handling of auto_acct_off() and DQUOT_OFF() in umount 2005-11-07 18:18:09 -08:00
xattr_acl.c
xattr.c [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00