| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] repair: avoid ABBA deadlocks on prefetched buffers |
| From: | Mark Tinguely <tinguely@xxxxxxx> |
| Date: | Fri, 13 Jan 2012 14:09:57 -0600 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <20111115210953.GA6670@xxxxxxxxxxxxx> |
| References: | <20111115210953.GA6670@xxxxxxxxxxxxx> |
| User-agent: | Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.24) Gecko/20111206 Thunderbird/3.1.16 |
On 01/-10/63 13:59, 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@xxxxxxxx> Signed-off-by: Christoph Hellwig<hch@xxxxxx> Part of a series of fixes. Needed for " [PATCH 06/12] repair: use recursive buffer locking" patch. Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 05/11] xfs: make i_flags an unsigned long, Ben Myers |
|---|---|
| Next by Date: | Re: Re: [PATCH 06/12] repair: use recursive buffer locking, Mark Tinguely |
| Previous by Thread: | Re: [PATCH 05/11] xfs: make i_flags an unsigned long, Ben Myers |
| Next by Thread: | Re: Re: [PATCH 06/12] repair: use recursive buffer locking, Mark Tinguely |
| Indexes: | [Date] [Thread] [Top] [All Lists] |