xfs: fix multi-AG deadlock in xfs_bunmapi
authorChristoph Hellwig <hch@lst.de>
Tue, 18 Jul 2017 18:16:51 +0000 (11:16 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 26 Jul 2017 15:20:03 +0000 (08:20 -0700)
commit5b094d6dac0451ad89b1dc088395c7b399b7e9e8
tree83ef91fc22af5f57c4f08902ec92b3d432d0f1b9
parent6215894e11de224183c89b001f5363912442b489
xfs: fix multi-AG deadlock in xfs_bunmapi

Just like in the allocator we must avoid touching multiple AGs out of
order when freeing blocks, as freeing still locks the AGF and can cause
the same AB-BA deadlocks as in the allocation path.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Nikolay Borisov <n.borisov.lkml@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_bmap.c