Re: [PATCH] repair: avoid ABBA deadlocks on prefetched buffers

Dave Chinner
2011-11-17T04:25:53Z

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@maven.pl>
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Looks sane to me.

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

--
Dave Chinner
david@fromorbit.com