• Jan Kara's avatar
    ext2: Silence lockdep warning about reclaim under xattr_sem · bc36dfff
    Jan Kara authored
    Lockdep complains about a chain:
      sb_internal#2 --> &ei->xattr_sem#2 --> fs_reclaim
    
    and shrink_dentry_list -> ext2_evict_inode -> ext2_xattr_delete_inode ->
    down_write(ei->xattr_sem) creating a locking cycle in the reclaim path.
    This is however a false positive because when we are in
    ext2_evict_inode() we are the only holder of the inode reference and
    nobody else should touch xattr_sem of that inode. So we cannot ever
    block on acquiring the xattr_sem in the reclaim path.
    
    Silence the lockdep warning by using down_write_trylock() in
    ext2_xattr_delete_inode() to not create false locking dependency.
    Reported-by: default avatar"J. R. Okajima" <hooanon05g@gmail.com>
    Reviewed-by: default avatarRitesh Harjani <riteshh@linux.ibm.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    bc36dfff
xattr.c 29.3 KB