[dm-devel] [PATCH] dm-mpath: push back requests instead of queueing
Junichi Nomura
j-nomura at ce.jp.nec.com
Tue Nov 12 10:25:06 UTC 2013
On 11/12/13 19:17, Hannes Reinecke wrote:
> On 11/12/2013 11:00 AM, Junichi Nomura wrote:
>> On 11/12/13 18:05, Hannes Reinecke wrote:
> [ .. ]
>>> We _could_ optimize this in __switch_pg(), to call pgpath_busy()
>>> when selecting the paths. But that should be done by the path selector.
>>> So for that we would need to separate the functionality of the
>>> path selector and __switch_pg; currently it's unclear whether
>>> we need to call pgpath_busy() in __switch_pg or not.
>>
>> There is no need to call pgpath_busy in __switch_pg.
>>
>> If we call __pgpath_busy() in map function, I think it's here:
>>
>> if (pgpath) {
>> + if (__pgpath_busy(pgpath))
>> + r = DM_MAPIO_REQUEUE;
>> else if (pg_ready(m)) {
>> ... // remap
>> r = DM_MAPIO_REMAPPED;
>> } else {
>> __pg_init_all_paths(m);
>> r = DM_MAPIO_REQUEUE;
>> }
>> ...
>>
> Which is what I had in mind.
Great.
>> or in a path selector.
>>
> Hmm. The path selector might have a reason for selecting this
> particular path. So I'd prefer not to have it in there.
Yeah, that's my concern, too.
--
Jun'ichi Nomura, NEC Corporation
More information about the dm-devel
mailing list