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