• Trond Myklebust's avatar
    NFS: Fix a spinlock recursion inside nfs_update_inode() · b37b03b7
    Trond Myklebust authored
     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: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    b37b03b7
inode.c 58.6 KB