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 [PATCH] bfs iget() abuses 2005-10-04 13:22:01 -07:00
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 [PATCH] fs/cramfs/uncompress.c should #include <linux/cramfs_fs.h> 2005-09-10 10:06:35 -07:00
debugfs [PATCH] remove duplicate get_dentry functions in various places 2005-06-23 09:45:20 -07:00
devfs [PATCH] kfree cleanup: fs 2005-11-07 07:54:06 -08:00
devpts [PATCH] Generic VFS fallback for security xattrs 2005-09-05 00:05:52 -07:00
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 [PATCH] hppfs: fix symlink error path 2005-08-26 11:39:19 -07:00
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 [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
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 [PATCH] nfsacl: Solaris VxFS compatibility fix 2005-10-11 09:46:54 -07:00
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 [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
ramfs
reiserfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2005-11-11 16:29:22 -08:00
relayfs [PATCH] relayfs: fix bogus param value in call to vmap 2005-10-10 08:39:50 -07:00
romfs
smbfs [PATCH] smbfs: 'names_cache' memory leak 2005-11-07 07:53:39 -08:00
sysfs [PATCH] Fix oops in sysfs_hash_and_remove_file() 2005-08-26 19:37:13 -07:00
sysv [PATCH] update filesystems for new delete_inode behavior 2005-09-09 13:57:27 -07:00
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 [PATCH] block: add unlocked_ioctl support for block devices 2005-06-23 09:45:32 -07:00
buffer.c [PATCH] __find_get_block_slow() cleanup 2005-11-07 07:53:39 -08:00
char_dev.c [PATCH] cdev: cdev_put oops 2005-07-12 16:01:02 -07:00
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 [PATCH] dcookies.c: use proper refcounting functions 2005-07-07 18:23:52 -07:00
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 [PATCH] epoll: handle timeout overflow 2005-09-28 07:46:41 -07:00
exec.c [PATCH] fix do_wait() vs exec() race 2005-11-23 16:08:39 -08:00
fcntl.c [PATCH] files: lock-free fd look-up 2005-09-09 13:57:55 -07:00
fifo.c
file_table.c [PATCH] mm: rename kmem_cache_s to kmem_cache 2005-11-07 07:53:24 -08:00
file.c [PATCH] Fix the fdtable freeing in the case of vmalloced fdset/arrays 2005-09-14 12:38:26 -07:00
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 [PATCH] fix fsync(dir) return value for ram-based filesystems 2005-06-25 16:24:38 -07:00
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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
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 [PATCH] sched: TASK_NONINTERACTIVE 2005-09-10 10:06:22 -07:00
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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
quota_v1.c
quota_v2.c
quota.c [PATCH] quota: small cleanups 2005-11-07 07:53:39 -08:00
read_write.c [PATCH] readv/writev syscalls are not checked by lsm 2005-09-29 15:42:08 -07:00
readdir.c
select.c [PATCH] files: lock-free fd look-up 2005-09-09 13:57:55 -07:00
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