[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