[PATCH] repair: avoid ABBA deadlocks on prefetched buffers

Dave Chinner david at fromorbit.com
Wed Nov 16 22:25:43 CST 2011


On Tue, Nov 15, 2011 at 04:09:53PM -0500, Christoph Hellwig wrote:
> Both the prefetch threads and actual repair processing threads can have
> multiple buffers at a time locked, but they do no use a common locker
> order, which can lead to ABBA deadlocks while trying to lock the buffers.
> 
> Switch the prefetch code to do a trylock and skip buffers that have
> already been locked to avoid this deadlock.
> 
> Reported-by: Arkadiusz Mi??kiewicz <arekm at maven.pl>
> Signed-off-by: Christoph Hellwig <hch at lst.de>

Looks sane to me.

Reviewed-by: Dave Chinner <dchinner at redhat.com>

-- 
Dave Chinner
david at fromorbit.com




More information about the xfs mailing list