[dm-devel] RE: [PATCH RFC] move scsi parts of dm hw handlers to scsi layer

Edward Goggin egoggin at emc.com
Fri Jul 21 19:10:07 UTC 2006


> -----Original Message-----
> From: linux-scsi-owner at vger.kernel.org 
> [mailto:linux-scsi-owner at vger.kernel.org] On Behalf Of Hannes Reinecke
> Sent: Friday, July 21, 2006 7:41 AM
> To: Mike Christie
> Cc: dm-devel at redhat.com; linux-scsi at vger.kernel.org; agk at redhat.com
> Subject: Re: [PATCH RFC] move scsi parts of dm hw handlers to 
> scsi layer
> 
> Am Fr 21.07.2006 13:20 schrieb Mike Christie <michaelc at cs.wisc.edu>:
> 
> > Currently dm-multipath has what it calls hw_handlers that contain hw
> > details and currently those handlers can be used to failover storage
> > works, LSI/Engenio RDAC mode, and EMC Clariion boxes. This code is a
> > little strange in dm-multipath and they are doing scsi no 
> good (think
> > about problems initializing scsi disks/paths when they are in a
> > passive
> > path that requires explicit/manual activation and we retry over and
> > over
> > and over).
> > 
> Yes, good idea. And it would even solve the problem of 
> getting all this
> weird
> error messages during booting as now these handlers are 
> independently of
> of
> the multipathing configuration and we're now able to handle 
> weird path 
> configurations natively.
> 
> > The patch below begins to push the scsi hw handler code down to the
> > scsi
> > layer. I only began to covert dm-emc.c and it only hooks in at the
> > sense
> > decoding in scsi_error.c. I wanted to make sure I was going 
> about the
> > module loading and binding correctly. With a new target bus we could
> > do
> > some driver model stuff instead, but I was not sure if that was
> > appropriate for this?
> > 
> Why don't we use scsi_devinfo for this?
> We have to have some sort of device table anyway as these handlers are
> far from being generic, so any sense code which triggers action on one
> device might be perfectly ok for others.
> 
> Easiest way would be to have one BLIST flag for each hardware handler
> and merge the respective hardware handler into that target if the
> blacklist entry matches.
> 
> > Next up would be to get Jens's cmd type tree and work on the message
> > passing code.
> > 
> > And this patch currently does not work since I do not have 
> a Clariion
> > box and I do not know what to match for the {vendor, model} tuple. I
> > think it was something like DCG or DGC and the model had different
> > RAID
> > strings depending on how it was setup and could have some 
> other string
> > if it did not use RAID. If you have a Clariion or you work 
> for EMC and
> > happen to know this info could you pass those strings to me?
> > 
> IIRC this is
> 
> 'DGC' 'DISK'
> 'DGC' 'RAID 10'
> 'DGC' 'RAID 5'

And 'DGC' 'LUNZ'

What about supporting a wildcard model string?

> 
> Hrmph. There is one bit which doesn't quite work out.
> While the hardware handler knows how to handle error codes and how to
> switch
> paths for a specific device, it doesn't know _when_ to switch it.
> I don't think it's a clever idea to switch paths whenever you 
> encounter
> an
> passive path. Seems like you could do a nice ping-pong that way ...
> 
> Cheers,
> 
> Hannes
> 
> -
> To unsubscribe from this list: send the line "unsubscribe 
> linux-scsi" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 




More information about the dm-devel mailing list