summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svc.c
diff options
context:
space:
mode:
authorTrond Myklebust2005-11-25 23:10:06 +0100
committerTrond Myklebust2005-11-25 23:11:29 +0100
commitb37b03b7051493c9f9a6b336c9c0f81334885b7d (patch)
tree8bb06ddeb952e4399b94bb556f715edb2dbffd34 /net/sunrpc/svc.c
parentNFSv4: Fix typo in lock caching (diff)
downloadkernel-qcow2-linux-b37b03b7051493c9f9a6b336c9c0f81334885b7d.tar.gz
kernel-qcow2-linux-b37b03b7051493c9f9a6b336c9c0f81334885b7d.tar.xz
kernel-qcow2-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/sunrpc/svc.c')
0 files changed, 0 insertions, 0 deletions