mbox series

[0/2] scsi: target: Introduce the version descriptors

Message ID 20210412224427.101167-1-k.shelekhin@yadro.com (mailing list archive)
Headers show
Series scsi: target: Introduce the version descriptors | expand

Message

Konstantin Shelekhin April 12, 2021, 10:44 p.m. UTC
This patch series adds the VERSION DESCRIPTOR fields to the standard INQUIRY
data. The SCSI primary command set standard bumped to SPC-4 for consistency
since the version descriptor values for SBC-3 and some other standards are not
defined in SPC-3.

While not essential for normal operation, the version descriptors values are
often queried as an additional sanity check. For example, Windows Server
requires proper SCSI transport protocol standard during the iSCSI qualification
tests.

The layout follows SPC-4:

  SCSI architecture standard
  SCSI transport protocol standard
  SCSI primary command set standard
  SCSI device type command set standard

The physical transport standard is not reported because it requires
driver-specific probing to be accurate and I'm not aware of any use-case
to justify the additional complexity.

The values are reported "unclaimed" because I faced several issues with the
specific ones during the interoperability testing. For example, Windows Server
2016 fails to parse recent iSCSI standards, libiscsi failed to recognize the
final SBC-3 standard (however this is fixed now) and so on. Plus both FreeBSD
and SCST use (or were using) the same values, so the chance of breaking
something is much smaller.

Konstantin Shelekhin (2):
  scsi: target: Bump INQUIRY VERSION to SPC-4
  scsi: target: Add the VERSION DESCRIPTOR fields to the INQUIRY data

 drivers/target/target_core_spc.c | 36 ++++++++++++++++++++++++++++++--
 include/scsi/scsi_proto.h        | 12 +++++++++++
 2 files changed, 46 insertions(+), 2 deletions(-)