diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-25 17:10:06 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-25 17:11:29 -0500 |
commit | b37b03b7051493c9f9a6b336c9c0f81334885b7d (patch) | |
tree | 8bb06ddeb952e4399b94bb556f715edb2dbffd34 /net | |
parent | ff6040667ad5a21fa1090e02941ecefb94ebe32c (diff) | |
download | linux-b37b03b7051493c9f9a6b336c9c0f81334885b7d.tar.gz linux-b37b03b7051493c9f9a6b336c9c0f81334885b7d.tar.bz2 linux-b37b03b7051493c9f9a6b336c9c0f81334885b7d.zip |
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>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions