• Dave Chinner's avatar
    fs: don't use igrab() while holding i_lock · 0444d76a
    Dave Chinner authored
    Fix the incorrect use of igrab() inside the i_lock in NFS and Ceph‥
    
    If we are already holding the i_lock, we have a reference to the
    inode so we can safely use ihold() to gain an extra reference. This
    avoids hangs due to lock recursion on the i_lock now that the
    inode_lock is gone and igrab() uses the i_lock itself.
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: linux-fsdevel@vger.kernel.org
    Cc: Ryan Mallon <ryan@bluewatersys.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0444d76a
nfs4state.c 44.6 KB