It appears that the raw interface of the iSCSI target will reject a
Prevent Allow Medium Removal (1Eh) command with:

    Sense Key: Illegal Request (0x05)
    Additional Sense Code+Qualifier: Invalid Command Operation Code
                                     (0x2000)

My guess is that this happens because the following appears as the
0x1E line in raw_table[] in cmd/iscsi/iscsitgtd/t10_raw_if.c:

    { spc_unsupported,  NULL,   NULL,   NULL },

Is there a compelling reason why this should not be replaced with code
to pass the command through to the raw device in th same manner as for
the Start/Stop Unit (1Bh) command?

The Prevent Allow Medium Removal (1Eh) command is used by both
Multi-Media Commands (MMC-6) and SCSI Media Changer Commands (SMC-3).
It used to be in SCSI Primary Commands (SPC-4).  This command has
fairly wide usage.

On a similar note, is there a compelling reason why the whole of the
SCSI Media Changer Commands set should not receive similar treatment?
Here is the list from SMC-3:

    A6h  Exchange Medium                        (12 bytes)
    07h  Initialize Element Status               (6 bytes)
    37h  Initialize Element Status within Range (10 bytes)
    A5h  Move Medium                            (12 bytes)
    1Bh  Open/Close Import/Export Element        (6 bytes) *
    2Bh  Position to Element                    (10 bytes)
    1Eh  Prevent Allow Medium Removal           (10 bytes)
    8Ch  Read Attribute                         (16 bytes)
    B8h  Read Element Status                    (12 bytes)
    A3h  Request Data Transfer Element Inquiry  (12 bytes) *
    44h  Report Volume Types Supported          (10 bytes)
    B5h  Request Volume Element Address         (12 bytes)
    B6h  Send Volume Tag                        (12 bytes)
    8Dh  Write Attribute                        (16 bytes)

Note that the two commands marked with asterisks (1Bh, A3h) already
have active entries in raw_table[].

I'm still fairly new to OpenSolaris.  What is the procedure to have
these changes considered?  Is raising a bug report sufficient?  Or is
something more complex required?

Support for the Prevent Allow Medium Removal (1Eh) command should be a
trivial modification and I am in a position to test that myself.

The larger change to support the full SCSI Media Changer Commands set
might need a little more thought to ensure that it doesn't conflict
with the two existing command implementations.  I have access to some
media changers which might be suitable for testing this.

Any comments?

Regards
--
John Connett


_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to