target: Add (obsolete) checking for PMI/LBA fields in READ CAPACITY(10)
authorRoland Dreier <roland@purestorage.com>
Thu, 27 Jun 2013 00:36:19 +0000 (17:36 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 8 Jul 2013 01:36:45 +0000 (18:36 -0700)
commit8dc8632aa7bf1de7a56daea56a7011cbfff76678
treee7abe78d343c895ae52bb6df0f13a54d05c31823
parent09ceadc70383a4105c0372f9e83da2c0cb0a8017
target: Add (obsolete) checking for PMI/LBA fields in READ CAPACITY(10)

The SBC-2 specification of READ CAPACITY(10) has PMI and LOGICAL BLOCK
ADDRESS fields in the CDB; in SBC-3 these fields are simply listed as
obsolete.  However, SBC-2 also has the language

    If the PMI bit is set to zero and the LOGICAL BLOCK ADDRESS field
    is not set to zero, the device server shall terminate the command
    with CHECK CONDITION status with the sense key set to ILLEGAL
    REQUEST and the additional sense code set to INVALID FIELD IN CDB.

and in fact at least the Windows SCSI compliance test checks this
behavior.  Since no one following SBC-3 is going to set these fields,
we might as well include the check from SBC-2 and pass this test.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_sbc.c