On Tue, 20 Nov 2007, Douglas Gilbert wrote:

> There should have always been at least two types of "block":
>    a) block media access commands
>    b) block all commands because the transport has told us
>       (or we know that we are about to remove some component)
>       that commands cannot be delivered to the device (logical
>       unit)

That sounds reasonable.  I'm talking about some other kinds of "block":

     c) Temporarily block all commands other than START-STOP UNIT or 
        TEST UNIT READY because the device has been idle for N seconds
        and we want to prepare it prior to powering-down the
        transport.

     d) Temporarily block all commands because we have told the
        transport that it can power down; after we ask the transport
        to resume normal operation the commands will be delivered.

     e) Fail all commands immediately because the user has told us
        that no I/O to the device should be permitted and the device 
        must remain "idle".

> For case a) all SCSI commands apart from those that explicitly
> access the media (e.g. READ, WRITE, VERIFY) should be sent to
> the device. Some commands, such as MODE SENSE, may fail since
> they might depend on data held on the media. Such failures
> will be fast with appropriate sense_key/asc/ascq codes returned.
> 
> 
> IMO if a transport tells us that a SCSI device (i.e. target
> device and/or logical unit) is accessible and the SCSI subsystem
> stops us sending an INQUIRY to that device then the SCSI
> subsystem is broken.

What if the SCSI subsystem prevents you from sending an INQUIRY (or any 
other command) because the user/administrator has told it to do so?

Alan Stern

-
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