[PATCH 0/2] Setup scsi-bus xfer and xfer_mode for PR IN/OUT and Maintenance IN/OUT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Greetings Gerd, Kevin and Co,

Attached are two patches to add the necesary CDB parsing to determine SCSIRequest->cmd.xfer
(length) and SCSIRequest->cmd.mode (direction) for Persistent Reservation IN/OUT
CDBs and for Maintenance IN/OUT CDBs used for Asymmetric Logical Unit Access, et al.
There is a special case for the latter Maintenance CDBs with TYPE_ROM that has been
included in scsi_req_length().

Also, I should mention this is a temporary measure in order to ensure that we can actually
do passthrough of these CDBs into KVM Guest for lsi and megaraid HBA emulation.  What will
need to eventually happen is to get rid of scsi_req_xfer_mode() all together and just setup
SCSIRequest->cmd.mode based on CDB type in scsi_req_length(), instead of having to have another
switch(cdb[0]) statement for every SCSI WRITE CDB on the planet to set SCSI_XFER_TO_DEV.

Anyways, I will look at doing this conversion in scsi_req_length() at some point, but please
apply these for the moment so folks can get access to their SPC-4 Port LUNs with QEMU.  ;)

Best,

--nab

Nicholas Bellinger (2):
  [scsi-bus]: Add PR-OUT and PR-IN case for SCSIRequest xfer and
    xfer_mode setup
  [scsi-bus]: Add MAINTENANCE_IN and MAINTENANCE_OUT case for
    SCSIRequest xfer and xfer_mode setup

 hw/scsi-bus.c  |   19 +++++++++++++++++++
 hw/scsi-defs.h |    2 ++
 2 files changed, 21 insertions(+), 0 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux