[dm-devel] [PATCH] dm-mpath: push back requests instead of queueing

Hannes Reinecke hare at suse.de
Tue Nov 12 10:17:43 UTC 2013


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.

> 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.

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)




More information about the dm-devel mailing list