qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL v5 00/25] SCSI subsystem improvements


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PULL v5 00/25] SCSI subsystem improvements
Date: Tue, 31 May 2011 08:38:00 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

On 05/26/2011 05:56 AM, Paolo Bonzini wrote:
The following changes since commit aa29141d84d58171c2d219f0a4b599bd76fb2e37:

   Merge remote-tracking branch 'kraxel/CVE-2011-1751' into staging (2011-05-25 
07:04:13 -0500)

are available in the git repository at:

   git://github.com/bonzini/qemu.git scsi.2

This series includes the following improvements to the SCSI subsystem:

Pulled.  Thanks.

Regards,

Anthony Liguori


1) introduction of SCSIBusOps that generalize the existing
command_complete callback;

2) widespread use of the SCSIRequest abstraction, with simpler memory
management (refcounting) and with various common idioms converted into
simple C functions instead of duplicating them all over the place;

3) support for autosense.

Some patches are from Hannes Reinecke's megasas patchset posted last
November, forward ported and applied to the new vSCSI controller as
well.  Most have been acked by Christoph; I fixed all issues he
pointed out in the others.

I already planned the following two series too:

1) adding support for zerocopy.  Previous attempts were rejected
because they were applied to real devices (thus making for example an
IOMMU hard to impossible).  However, for PV devices zerocopy should be
uncontroversial---and it is a must to get competitive performance WRT
virtio-blk.  I'll use vmw-pvscsi for the first implementation and for
benchmarking.

2) adding support for multiple LUNs; see recently posted RFC for this.

After this I'll work on the virtio-scsi device model.

Testing:
- RHEL6.1 install complete to scsi-disk with lsi, from scsi-generic CD
- iozone run with lsi on scsi-disk target
- RHEL6.1 install to usb-msd from IDE CD is too slow, but it manages to
   format /boot in ~10 minutes with or without the patches
- RHEL6.1 install with vscsi with scsi-disk CD and installation disk
   hung at the same place with or without the series, perhaps it was
   just me being impatient.

esp is only compile tested.

Please review and merge.

v4->v5:
     SCSIBusOps now const-ified.  Added braces here and there.
     Added patch 5.

v3->v4:
     renamed scsi_req_kick to scsi_req_continue.  Changed SCSIBusOps to
     pointer.  Removed scsi_req_free, merged it into scsi_req_unref.
     Added head comments for some functions.  Renamed arguments to
     HBA callbacks.  Added patches 23 and 24

v2->v3:
     included fixes for Jonathan Nieder's recently reported bug

v1->v2:
     rebased, added patch 21

Hannes Reinecke (4):
   scsi: Use 'SCSIRequest' directly
   scsi: Update sense code handling
   scsi: Implement 'get_sense' callback
   scsi-disk: add data direction checking

Paolo Bonzini (21):
   scsi: add tracing of scsi requests
   scsi-generic: Remove bogus double complete
   scsi: introduce scsi_req_data
   scsi: introduce SCSIBusOps
   scsi-generic: do not use a stale aiocb
   scsi: reference-count requests
   lsi: extract lsi_find_by_tag
   scsi: commonize purging requests
   scsi: introduce scsi_req_abort
   scsi: introduce scsi_req_cancel
   scsi: use scsi_req_complete
   scsi: do not call send_command directly
   scsi: introduce scsi_req_new
   scsi: introduce scsi_req_continue
   scsi: introduce scsi_req_get_buf
   scsi: make write_data return void
   scsi-generic: Handle queue full
   esp: rename sense to status
   scsi: split command_complete callback in two
   scsi: rename arguments to the new callbacks
   scsi: ignore LUN field in the CDB

  hw/esp.c          |  119 ++++++++++++++----------
  hw/lsi53c895a.c   |  200 ++++++++++++++++++++++++---------------
  hw/scsi-bus.c     |  220 +++++++++++++++++++++++++++++++++++++++----
  hw/scsi-disk.c    |  271 ++++++++++++++++++++++-------------------------------
  hw/scsi-generic.c |  223 +++++++++++++++++++++-----------------------
  hw/scsi.h         |   91 ++++++++++++++----
  hw/spapr_vscsi.c  |  187 ++++++++++++++++++++----------------
  hw/usb-msd.c      |  120 ++++++++++++++----------
  trace-events      |    8 ++
  9 files changed, 866 insertions(+), 573 deletions(-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]