[dm-devel] Re: [PATCH] Handle multipath paths in a path group properly during pg_init
Hannes Reinecke
hare at suse.de
Tue Apr 28 06:30:16 UTC 2009
Chandra Seetharaman wrote:
> Resending the patch after fixing the header, Porting and testing in
> 2.6.30-rc3, and a bug fix.
> ---------------
> There is a problem which was caused due to the architectural change made
> when we moved from dm hardware handler to SCSI hardware handler.
>
> In dm, handler was called to do a pg_init for a path group, and there
> was no state maintained in hardware handler code for each path.
>
> In SCSI dh, "state" is maintanined per path, as we wanted to fail I/O
> early on that path if it is not the active path.
>
> All of the hardware handlers, do have a state now, and they are set to
> active and (some form of) inactive. All of them have prep_fn(), which use
> this "state" to fail the I/O without it ever being sent to the device.
>
> So, in effect when dm-multipath calls scsi_dh_activate(), activate is
> sent to only one path and the "state" of that path is changed appropriately
> to "active" while other paths in the same path group are never changed
> as they never got an "activate".
>
> In order make sure all the paths in a path group gets their state set
> properly when a pg_init happens, we need to call scsi_dh_activate() on
> all paths in a path group.
>
> Doing this at the hardware handler layer is not a good option as we
> want the multipath layer to define the relationship between path and path
> groups and not the hardware handler.
>
> Attached patch sends an "activate" on each path in a path group when a
> path group is switched. It also sends an activate when a path is reinstated.
>
> Patch is applied and tested on 2.6.30-rc3.
>
> ----------
>
> Signed-off-by: Chandra Seetharaman <sekharan at us.ibm.com>
Acked-by: Hannes Reinecke <hare at suse.de>
--
Dr. Hannes Reinecke zSeries & Storage
hare at suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
More information about the dm-devel
mailing list