[dm-devel] 3.15-rc4: circular locking dependency triggered by dm-multipath

Hannes Reinecke hare at suse.de
Mon May 26 12:51:33 UTC 2014


On 05/26/2014 02:44 PM, Hannes Reinecke wrote:
> On 05/26/2014 02:29 PM, Hannes Reinecke wrote:
>> On 05/26/2014 02:20 PM, Bart Van Assche wrote:
>>> On 05/26/14 14:10, Hannes Reinecke wrote:
>>>> Mike Snitzer had a patch in his device-mapper tree:
>>>>
>>>> dm mpath: fix lock order inconsistency in multipath_ioctl
>>>> (2014-05-14
>>>> 16:12:17 -0400)
>>>>
>>>> I was sort of hoping that would address this issue.
>>>> Can you check?
>>>
>>> Hello Hannes,
>>>
>>> Is it possible that that patch already got included in v3.15-rc6 and
>>> hence that that patch was included in my test ?
>>>
>>> $ git log v3.15-rc5..v3.15-rc6 | grep 'dm mpath: fix lock order
>>> inconsistency in multipath_ioctl'
>>>        dm mpath: fix lock order inconsistency in multipath_ioctl
>>>      dm mpath: fix lock order inconsistency in multipath_ioctl
>>>
>> Could be.
>>
>> Okay, I'll be cross-checking.
>>
> Can you check if this makes lockdep happy?
>
> diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
> index aa009e8..40b3036 100644
> --- a/drivers/md/dm-mpath.c
> +++ b/drivers/md/dm-mpath.c
> @@ -445,11 +445,11 @@ static int queue_if_no_path(struct multipath
> *m, unsigned
> queue_if_no_path,
>          else
>                  m->saved_queue_if_no_path = queue_if_no_path;
>          m->queue_if_no_path = queue_if_no_path;
> -       if (!m->queue_if_no_path)
> -               dm_table_run_md_queue_async(m->ti->table);
> -
>          spin_unlock_irqrestore(&m->lock, flags);
>
> +       if (!queue_if_no_path)
> +               dm_table_run_md_queue_async(m->ti->table);
> +
>          return 0;
>   }
>
Or, better still, try the attached patch.
There's one more instance where lockdep might complain.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare at suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dm-multipath-Fixup-lockdep-warning.patch
Type: text/x-patch
Size: 1834 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20140526/0082b4c4/attachment.bin>


More information about the dm-devel mailing list