Re: [PATCH 2/2] Drivers: scsi: storvsc: Force discovery of LUNs that may have been removed.

Hannes Reinecke
2014-08-27T14:31:21Z

On 08/19/2014 07:54 PM, Christoph Hellwig wrote:
> On Sat, Aug 16, 2014 at 08:09:48PM -0700, K. Y. Srinivasan wrote:
>> The host asks the guest to scan when a LUN is removed or added.
>> The only way a guest can identify the removed LUN is when an I/O is
>> attempted on a removed LUN - the SRB status code indicates that the LUN
>> is invalid. We currently handle this SRB status and remove the device.
>>
>> Rather than waiting for an I/O to remove the device, force the discovery of
>> LUNs that may have been removed prior to discovering LUNs that may have
>> been added.
>
> This looks pretty reasonable to me, but I wonder if we should move this
> up to common code so that it happens for any host rescan triggered by
> sysfs or other drivers as well.
>
Not without proper testing.
Currently we cannot rescan existing devices; the inquiry string is
nailed to the sdev structure. The only way to really refresh the
information is to delete it and rescan it again.

And I really do _not_ want to do this automatically as the device
might be busy due to various reasons (think of multipathing).
It tooks us ages to get this working with FC, and we finally settled
to have a soft-remove implemented in the transport class.
And we still have issues with SAS HBAs, where at least the standard
defines a mechanism. Trying this in the SCSI midlayer itself
is the road to disaster.

If we were to attempt this we would need to lift the dev_loss_tmo
mechanism from the FC transport layer and make this a generic
facility for every HBA. But this is quite some work.

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)