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@xxxxxxx +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) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel