• K
    xfs: fix deadlock in xfs_rtfree_extent · 5575acc7
    Kamal Dasu 提交于
    To fix the deadlock caused by repeatedly calling xfs_rtfree_extent
    
     - removed xfs_ilock() and xfs_trans_ijoin() from xfs_rtfree_extent(),
       instead added asserts that the inode is locked and has an inode_item
       attached to it.
     - in xfs_bunmapi() when dealing with an inode with the rt flag
       call xfs_ilock() and xfs_trans_ijoin() so that the
       reference count is bumped on the inode and attached it to the
       transaction before calling into xfs_bmap_del_extent, similar to
       what we do in xfs_bmap_rtalloc.
    Signed-off-by: NKamal Dasu <kdasu.kdev@gmail.com>
    Reviewed-by: NChristoph Hellwig <hch@infradead.org>
    Signed-off-by: NBen Myers <bpm@sgi.com>
    5575acc7
xfs_rtalloc.c 60.7 KB