[dm-devel] [PATCH 9/9] dm path selector: Avoid that device removal triggers an infinite loop

Bart Van Assche Bart.VanAssche at sandisk.com
Thu Sep 1 14:14:57 UTC 2016


On 08/31/16 20:29, Mike Snitzer wrote:
> On Wed, Aug 31 2016 at  6:18pm -0400,
> Bart Van Assche <bart.vanassche at sandisk.com> wrote:
>
>> If pg_init_retries is set and a request is queued against a
>> multipath device with all underlying block devices in the "dying"
>> state then an infinite loop is triggered because activate_path()
>> never succeeds and hence never calls pg_init_done(). Fix this by
>> making ql_select_path() skip dying paths.
>
> Assuming DM multipath needs to be sprinkling these dying queue checks so
> deep (which I'm not yet sold on):
>
> Same would be needed in service-time and round-robin right?

Hello Mike,

Before addressing service-time and round-robin path selectors I wanted 
to make sure that we reach agreement about how to fix the queue length 
path selector.

Do you have a proposal for an alternative approach to fix the infinite 
loop that can be triggered during device removal?

Thanks,

Bart.




More information about the dm-devel mailing list