On 09/07/05 15:31, Alan Stern wrote:
> 
> As for layering violations and deadlocks...  Unfortunately the violation
> is unavoidable.  It's related to the way the error handler sometimes tries
> to fix a non-working device by doing a bus reset, which will also affect
> all the other devices on the same bus.

Yes, that's a good point.

Is it possible to implement LU Reset TMF for USB storage devices?
If so, then you do not need to do a "bus reset".

*General note:* It is very bad to have to punish all devices on the
"bus" just because one device failed.  Isn't there a better way
to recover(*) a failed USB Storage device?

(*) That doesn't necessarily mean "bring back to life", it could
also mean "remove".

That is, a "bus reset" means that also any other device on the "bus" is
unreachable.  If this is _not_ the case, then a "bus" reset must _not_
take place.

>>This makes me believe that maybe USB storage would need an overhaul
>>of the event infra: removing and adding, and/or implement its own
>>eh.
> 
> In the long run that might be good, but for now I think we'll be okay.  
> The important thing is to make sure that once the device has moved to the
> CANCEL state, everything fails quickly.

If you have the means to do transport checking of the state of the
device, (and it seems like you can for USB Storage, since it is USB after
all), then you _must_ implement your own eh handler.  This is what
it is for.  Please, consider.

        Luben

P.S. It may actually simplify things in the USB transport layer _and_ in
SCSI Core (i.e. no need for those patches).






-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to