logo       

Re: Autosense requirement: msg#00226

Subject: Re: Autosense requirement
James -

On Wed, Jul 31, 2002 at 11:04:13AM -0500, James Bottomley wrote:
> patmans@xxxxxxxxxx said:
> > Having Scsi_Device on its own list could also help in hot-replacement
> > of single pathed devices (Scsi_Host can be removed without having to
> > remove a Scsi_Device off of its host_queue).
> 
> Isn't this going to cause serious problems for the driverfs stuff?  
> Effectively you're changing the parent pointer under the device which alters 
> the layout of the device tree.

Yes, for any multi-path implementation, driverfs needs changes so that a
child can have multiple parents, or something along those lines.

For the next version of the patch, I'm planning on merging with the current
identifier code - the value put into the driverfs "name", and then I plan
on looking into driverfs changes.

Perhaps driverfs could seperate device registration (or creation) from link
(or path) registration.

> > If you make changes in the host/device list(s) please consider that I
> > need to have the Scsi_Devices on their own list separate from the
> > Scsi_host list. 
> 
> Could you post some of the details of this (separated from the multi-path 
> patch if possible)?  Thanks,
> 
> James

There is a document here:

http://www-124.ibm.com/storageio/multipath/scsi-multipath/docs/index.html

It describes the current host_queue list (I think you had similiar
slides at OLS), and the new list introduced by the multi-path patch,
mainly to show the path structures, not the Scsi_Device list.

Generally, if we want one Scsi_Device per actual LUN, and a LUN is connected
to multiple adapters, the Scsi_Device can't easily be linked off of
Scsi_Host - there is no longer one Scsi_Host for a given Scsi_Device.

So, I added a list of Scsi_Devices; on each Scsi_Device there is a list
of paths, where each path includes a pointer back to Scsi_Host.

On removal of a single Scsi_Host (if there was such code), all paths
pointing to the host must first be removed, and Scsi_Device can remain
(even with no left paths).

If I linked off of Scsi_Host, there would have to be a separate list
structure so that a Scsi_Device could be on multiple Scsi_Host lists.
This could still be done even with a separate Scsi_Device list, but is
only usefull if we need a fast way to lookup all Scsi_Devices on a host.

-- Patrick Mansfield
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



<Prev in Thread] Current Thread [Next in Thread>