1
linux/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 [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
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 [PATCH] FUSE: pass file handle in setattr 2005-11-07 07:53:42 -08:00
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 JFS: set i_ctime & i_mtime on target directory when creating links 2005-10-31 16:53:04 -06:00
lockd [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
minix
msdos [PATCH] fat: remove the unneeded vfat_find() in vfat_rename() 2005-10-30 17:37:32 -08:00
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 NTFS: Fix a stupid bug causing writes to non-initialized pages to segfault. 2005-11-01 15:49:31 +00:00
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 [PATCH] smbfs: 'names_cache' memory leak 2005-11-07 07:53:39 -08:00
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 [PATCH] fat: remove the unneeded vfat_find() in vfat_rename() 2005-10-30 17:37:32 -08:00
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 [PATCH] fs/attr.c: remove BUG() 2005-10-30 17:37:27 -08:00
bad_inode.c
binfmt_aout.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
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 [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
binfmt_misc.c [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
binfmt_script.c
binfmt_som.c [PATCH] mm: mm_init set_mm_counters 2005-10-29 21:40:38 -07:00
bio.c [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
block_dev.c
buffer.c [PATCH] __find_get_block_slow() cleanup 2005-11-07 07:53:39 -08:00
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 [PATCH] Remove hlist_for_each_rcu() API, convert existing use to hlist_for_each_entry_rcu 2005-11-07 07:53:35 -08:00
dcookies.c
direct-io.c [PATCH] core remove PageReserved 2005-10-29 21:40:39 -07:00
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 [PATCH] mm: rename kmem_cache_s to kmem_cache 2005-11-07 07:53:24 -08:00
file.c
filesystems.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
fs-writeback.c [PATCH] kernel-docs: fix kernel-doc format problems 2005-11-07 07:53:55 -08:00
inode.c [PATCH] fix nr_unused accounting, and avoid recursing in iput with I_WILL_FREE set 2005-10-30 17:37:26 -08:00
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 [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
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 [PATCH] quota: small cleanups 2005-11-07 07:53:39 -08:00
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