mbox

[PULL,0/9] SCSI updates for 2013-04-13

Message ID 1366381460-6041-1-git-send-email-pbonzini@redhat.com
State New
Headers show

Pull-request

git://github.com/bonzini/qemu.git scsi-next

Message

Paolo Bonzini April 19, 2013, 2:24 p.m. UTC
The following changes since commit 09dada400328d75daf79e3eca1e48e024fec148d:

  configure: remove duplicate test (2013-04-18 14:12:31 +0200)

are available in the git repository at:

  git://github.com/bonzini/qemu.git scsi-next

for you to fetch changes up to d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4:

  vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module (2013-04-19 16:19:13 +0200)

The VMware PVSCSI implementation and vhost-scsi are finally getting in.

Paolo
----------------------------------------------------------------
Dmitry Fleytman (1):
      scsi: VMWare PVSCSI paravirtual device implementation

Nicholas Bellinger (3):
      vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
      vhost-scsi: new device supporting the tcm_vhost Linux kernel module
      vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module

Paolo Bonzini (5):
      scsi: avoid assertion failure on VERIFY command
      virtio-scsi: create VirtIOSCSICommon
      virtio: simplify Makefile conditionals
      vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
      vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module

 configure                       |   10 +
 default-configs/pci.mak         |    1 +
 docs/specs/vmw_pvscsi-spec.txt  |   92 +++
 hw/Makefile.objs                |    2 +-
 hw/s390x/s390-virtio-bus.c      |   51 +-
 hw/s390x/s390-virtio-bus.h      |   16 +
 hw/s390x/virtio-ccw.c           |   53 +-
 hw/s390x/virtio-ccw.h           |   14 +
 hw/scsi/Makefile.objs           |    7 +-
 hw/scsi/scsi-disk.c             |   19 +-
 hw/scsi/vhost-scsi.c            |  288 ++++++++++
 hw/scsi/virtio-scsi.c           |  212 +++----
 hw/scsi/vmw_pvscsi.c            | 1216 +++++++++++++++++++++++++++++++++++++++
 hw/scsi/vmw_pvscsi.h            |  434 ++++++++++++++
 hw/virtio/Makefile.objs         |    8 +-
 hw/virtio/vhost.c               |   53 +-
 hw/virtio/virtio-pci.c          |   65 ++-
 hw/virtio/virtio-pci.h          |   18 +
 include/hw/pci/pci.h            |    1 +
 include/hw/virtio/vhost-scsi.h  |   73 +++
 include/hw/virtio/vhost.h       |    3 +
 include/hw/virtio/virtio-scsi.h |  135 ++++-
 include/qemu/osdep.h            |    4 +
 trace-events                    |   35 ++
 24 files changed, 2636 insertions(+), 174 deletions(-)
 create mode 100644 docs/specs/vmw_pvscsi-spec.txt
 create mode 100644 hw/scsi/vhost-scsi.c
 create mode 100644 hw/scsi/vmw_pvscsi.c
 create mode 100644 hw/scsi/vmw_pvscsi.h
 create mode 100644 include/hw/virtio/vhost-scsi.h

Comments

Nicholas A. Bellinger April 23, 2013, 11:17 p.m. UTC | #1
On Fri, 2013-04-19 at 16:24 +0200, Paolo Bonzini wrote:
> The following changes since commit 09dada400328d75daf79e3eca1e48e024fec148d:
> 
>   configure: remove duplicate test (2013-04-18 14:12:31 +0200)
> 
> are available in the git repository at:
> 
>   git://github.com/bonzini/qemu.git scsi-next
> 
> for you to fetch changes up to d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4:
> 
>   vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module (2013-04-19 16:19:13 +0200)
> 
> The VMware PVSCSI implementation and vhost-scsi are finally getting in.
> 

Hi Paolo & Co,

Thanks for all of the efforts to finally get the vhost-scsi series
merged into upstream QEMU v1.5 code!

Also, just a reminder that pc-bios/bios.bin needs to be updated to
include Asias's seabios.git commits below for this code to boot.

b44a7be17bdd270ea029a8e2ec0c2e80c6cd0444 virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
5a7730db57ab0715223421e65b54fb50d6fefe5c virtio-scsi: Set _DRIVER_OK flag before scsi target scanning

I just tested with this afternoon's qemu.git and seabios.git HEADs, and
both are functioning as expected.

Anthony + Gerd, can we expect an rev to pc-bios/bios.bin soon to pick up
these seabios changes for vhost-scsi..?

Thanks,

--nab

> Paolo
> ----------------------------------------------------------------
> Dmitry Fleytman (1):
>       scsi: VMWare PVSCSI paravirtual device implementation
> 
> Nicholas Bellinger (3):
>       vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
>       vhost-scsi: new device supporting the tcm_vhost Linux kernel module
>       vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
> 
> Paolo Bonzini (5):
>       scsi: avoid assertion failure on VERIFY command
>       virtio-scsi: create VirtIOSCSICommon
>       virtio: simplify Makefile conditionals
>       vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
>       vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
> 
>  configure                       |   10 +
>  default-configs/pci.mak         |    1 +
>  docs/specs/vmw_pvscsi-spec.txt  |   92 +++
>  hw/Makefile.objs                |    2 +-
>  hw/s390x/s390-virtio-bus.c      |   51 +-
>  hw/s390x/s390-virtio-bus.h      |   16 +
>  hw/s390x/virtio-ccw.c           |   53 +-
>  hw/s390x/virtio-ccw.h           |   14 +
>  hw/scsi/Makefile.objs           |    7 +-
>  hw/scsi/scsi-disk.c             |   19 +-
>  hw/scsi/vhost-scsi.c            |  288 ++++++++++
>  hw/scsi/virtio-scsi.c           |  212 +++----
>  hw/scsi/vmw_pvscsi.c            | 1216 +++++++++++++++++++++++++++++++++++++++
>  hw/scsi/vmw_pvscsi.h            |  434 ++++++++++++++
>  hw/virtio/Makefile.objs         |    8 +-
>  hw/virtio/vhost.c               |   53 +-
>  hw/virtio/virtio-pci.c          |   65 ++-
>  hw/virtio/virtio-pci.h          |   18 +
>  include/hw/pci/pci.h            |    1 +
>  include/hw/virtio/vhost-scsi.h  |   73 +++
>  include/hw/virtio/vhost.h       |    3 +
>  include/hw/virtio/virtio-scsi.h |  135 ++++-
>  include/qemu/osdep.h            |    4 +
>  trace-events                    |   35 ++
>  24 files changed, 2636 insertions(+), 174 deletions(-)
>  create mode 100644 docs/specs/vmw_pvscsi-spec.txt
>  create mode 100644 hw/scsi/vhost-scsi.c
>  create mode 100644 hw/scsi/vmw_pvscsi.c
>  create mode 100644 hw/scsi/vmw_pvscsi.h
>  create mode 100644 include/hw/virtio/vhost-scsi.h
Stefan Weil April 24, 2013, 4:56 a.m. UTC | #2
Am 19.04.2013 16:24, schrieb Paolo Bonzini:
> The following changes since commit 09dada400328d75daf79e3eca1e48e024fec148d:
>
>   configure: remove duplicate test (2013-04-18 14:12:31 +0200)
>
> are available in the git repository at:
>
>   git://github.com/bonzini/qemu.git scsi-next
>
> for you to fetch changes up to d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4:
>
>   vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module (2013-04-19 16:19:13 +0200)
>
> The VMware PVSCSI implementation and vhost-scsi are finally getting in.
>
> Paolo
> ----------------------------------------------------------------
> Dmitry Fleytman (1):
>       scsi: VMWare PVSCSI paravirtual device implementation
>
> Nicholas Bellinger (3):
>       vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
>       vhost-scsi: new device supporting the tcm_vhost Linux kernel module
>       vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
>
> Paolo Bonzini (5):
>       scsi: avoid assertion failure on VERIFY command
>       virtio-scsi: create VirtIOSCSICommon
>       virtio: simplify Makefile conditionals
>       vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
>       vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
>


Hi Paolo,

the latest QEMU build is broken when CONFIG_VHOST_SCSI is undefined.

Regards,
Stefan
Gerd Hoffmann April 24, 2013, 5:59 a.m. UTC | #3
Hi,

> b44a7be17bdd270ea029a8e2ec0c2e80c6cd0444 virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
> 5a7730db57ab0715223421e65b54fb50d6fefe5c virtio-scsi: Set _DRIVER_OK flag before scsi target scanning

> Anthony + Gerd, can we expect an rev to pc-bios/bios.bin soon to pick up
> these seabios changes for vhost-scsi..?

I don't feel like placing a seabios git snapshot into qemu.

I think we should just cherry-pick everything we need for qemu 1.5 into
the 1.7.2-stable branch, roll out a 1.7.2.2 release and put that into
qemu 1.5.

So, what will be needed?

  (1) The two commits listed above.
  (2) The patch for the pvpanic device (assuming it gets
      merged for 1.5).

Anything else?

Hard freeze for qemu 1.5 is next Wednesday.

cheers,
  Gerd

PS: For qemu 1.6 (which will hopefully include the acpi table
    reorganization) we will need a new release from the master
    branch and thus a bit more careful release planning.
Amos Kong April 24, 2013, 6:11 a.m. UTC | #4
On Wed, Apr 24, 2013 at 07:59:36AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > b44a7be17bdd270ea029a8e2ec0c2e80c6cd0444 virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
> > 5a7730db57ab0715223421e65b54fb50d6fefe5c virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
> 
> > Anthony + Gerd, can we expect an rev to pc-bios/bios.bin soon to pick up
> > these seabios changes for vhost-scsi..?
> 
> I don't feel like placing a seabios git snapshot into qemu.
> 
> I think we should just cherry-pick everything we need for qemu 1.5 into
> the 1.7.2-stable branch, roll out a 1.7.2.2 release and put that into
> qemu 1.5.
> 
> So, what will be needed?
> 
>   (1) The two commits listed above.
>   (2) The patch for the pvpanic device (assuming it gets
>       merged for 1.5).
> 
> Anything else?

Hi Gerd,

This bug fix is needed:

| commit 11a7234491cb2a027b0fa5e82af38a3e78b44c80
| Author: Kevin O'Connor <kevin@koconnor.net>
| Date:   Tue Mar 5 17:52:21 2013 +0800
| 
|     Cache boot-fail-wait to avoid romfile access after POST.
| 
|     Memory allocated with malloc_tmp() can't be used after the POST phase.
|     So, access boot-fail-wait in post phase and store it for the boot
|     phase to use.  This fixes the regression introduced by commit
|     59d6ca52.


> Hard freeze for qemu 1.5 is next Wednesday.
> 
> cheers,
>   Gerd
> 
> PS: For qemu 1.6 (which will hopefully include the acpi table
>     reorganization) we will need a new release from the master
>     branch and thus a bit more careful release planning.
>
Paolo Bonzini April 24, 2013, 8:19 a.m. UTC | #5
Il 24/04/2013 06:56, Stefan Weil ha scritto:
> Hi Paolo,
> 
> the latest QEMU build is broken when CONFIG_VHOST_SCSI is undefined.

--verbose, please. :)

$ ../configure --disable-vhost-scsi
$ grep VHOST_SC */config-* config-*
$

works here.

Paolo
Stefan Weil April 24, 2013, 4:56 p.m. UTC | #6
Am 24.04.2013 10:19, schrieb Paolo Bonzini:
> Il 24/04/2013 06:56, Stefan Weil ha scritto:
>> Hi Paolo, the latest QEMU build is broken when CONFIG_VHOST_SCSI is
>> undefined. 
> --verbose, please. :)

Sorry, I thought it was obvious. The error occurs in a cross build for
w64 when building s390x-softmmu.

Regards,
Stefan

$ make -C bin/debug/amd64-mingw32msvc -k
make: Entering directory `/qemu/bin/debug/amd64-mingw32msvc'
  CC    s390x-softmmu/hw/s390x/s390-virtio-bus.o
/qemu/hw/s390x/s390-virtio-bus.c: In function 's390_virtio_register_types':
/qemu/hw/s390x/s390-virtio-bus.c:694: error: 's390_vhost_scsi'
undeclared (first use in this function)
/qemu/hw/s390x/s390-virtio-bus.c:694: error: (Each undeclared identifier
is reported only once
/qemu/hw/s390x/s390-virtio-bus.c:694: error: for each function it
appears in.)
make[1]: *** [hw/s390x/s390-virtio-bus.o] Fehler 1
  CC    s390x-softmmu/hw/s390x/s390-virtio-ccw.o
In file included from /qemu/hw/s390x/s390-virtio-ccw.c:18:
/qemu/hw/s390x/virtio-ccw.h:115: error: expected
specifier-qualifier-list before 'VHostSCSI'
make[1]: *** [hw/s390x/s390-virtio-ccw.o] Fehler 1
  CC    s390x-softmmu/hw/s390x/virtio-ccw.o
In file included from /qemu/hw/s390x/virtio-ccw.c:27:
/qemu/hw/s390x/virtio-ccw.h:115: error: expected
specifier-qualifier-list before 'VHostSCSI'
/qemu/hw/s390x/virtio-ccw.c: In function 'virtio_ccw_register':
/qemu/hw/s390x/virtio-ccw.c:1107: error: 'vhost_ccw_scsi' undeclared
(first use in this function)
/qemu/hw/s390x/virtio-ccw.c:1107: error: (Each undeclared identifier is
reported only once
/qemu/hw/s390x/virtio-ccw.c:1107: error: for each function it appears in.)
make[1]: *** [hw/s390x/virtio-ccw.o] Fehler 1
  CC    s390x-softmmu/target-s390x/translate.o
Paolo Bonzini April 26, 2013, 8:40 a.m. UTC | #7
Il 24/04/2013 18:56, Stefan Weil ha scritto:
> Am 24.04.2013 10:19, schrieb Paolo Bonzini:
>> Il 24/04/2013 06:56, Stefan Weil ha scritto:
>>> Hi Paolo, the latest QEMU build is broken when CONFIG_VHOST_SCSI is
>>> undefined. 
>> --verbose, please. :)
> 
> Sorry, I thought it was obvious. The error occurs in a cross build for
> w64 when building s390x-softmmu.

Will fix it next week, -rc0 should be fine.

Paolo

> Regards,
> Stefan
> 
> $ make -C bin/debug/amd64-mingw32msvc -k
> make: Entering directory `/qemu/bin/debug/amd64-mingw32msvc'
>   CC    s390x-softmmu/hw/s390x/s390-virtio-bus.o
> /qemu/hw/s390x/s390-virtio-bus.c: In function 's390_virtio_register_types':
> /qemu/hw/s390x/s390-virtio-bus.c:694: error: 's390_vhost_scsi'
> undeclared (first use in this function)
> /qemu/hw/s390x/s390-virtio-bus.c:694: error: (Each undeclared identifier
> is reported only once
> /qemu/hw/s390x/s390-virtio-bus.c:694: error: for each function it
> appears in.)
> make[1]: *** [hw/s390x/s390-virtio-bus.o] Fehler 1
>   CC    s390x-softmmu/hw/s390x/s390-virtio-ccw.o
> In file included from /qemu/hw/s390x/s390-virtio-ccw.c:18:
> /qemu/hw/s390x/virtio-ccw.h:115: error: expected
> specifier-qualifier-list before 'VHostSCSI'
> make[1]: *** [hw/s390x/s390-virtio-ccw.o] Fehler 1
>   CC    s390x-softmmu/hw/s390x/virtio-ccw.o
> In file included from /qemu/hw/s390x/virtio-ccw.c:27:
> /qemu/hw/s390x/virtio-ccw.h:115: error: expected
> specifier-qualifier-list before 'VHostSCSI'
> /qemu/hw/s390x/virtio-ccw.c: In function 'virtio_ccw_register':
> /qemu/hw/s390x/virtio-ccw.c:1107: error: 'vhost_ccw_scsi' undeclared
> (first use in this function)
> /qemu/hw/s390x/virtio-ccw.c:1107: error: (Each undeclared identifier is
> reported only once
> /qemu/hw/s390x/virtio-ccw.c:1107: error: for each function it appears in.)
> make[1]: *** [hw/s390x/virtio-ccw.o] Fehler 1
>   CC    s390x-softmmu/target-s390x/translate.o
>
Paolo Bonzini April 30, 2013, 4:01 p.m. UTC | #8
Il 24/04/2013 07:59, Gerd Hoffmann ha scritto:
>   Hi,
> 
>> b44a7be17bdd270ea029a8e2ec0c2e80c6cd0444 virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
>> 5a7730db57ab0715223421e65b54fb50d6fefe5c virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
> 
>> Anthony + Gerd, can we expect an rev to pc-bios/bios.bin soon to pick up
>> these seabios changes for vhost-scsi..?
> 
> I don't feel like placing a seabios git snapshot into qemu.
> 
> I think we should just cherry-pick everything we need for qemu 1.5 into
> the 1.7.2-stable branch, roll out a 1.7.2.2 release and put that into
> qemu 1.5.
> 
> So, what will be needed?
> 
>   (1) The two commits listed above.
>   (2) The patch for the pvpanic device (assuming it gets
>       merged for 1.5).
> 
> Anything else?
> 
> Hard freeze for qemu 1.5 is next Wednesday.

It's just a few patches, so we can do it in -rc1 too.

Paolo

> cheers,
>   Gerd
> 
> PS: For qemu 1.6 (which will hopefully include the acpi table
>     reorganization) we will need a new release from the master
>     branch and thus a bit more careful release planning.
>
Amos Kong May 16, 2013, 4:46 a.m. UTC | #9
On Wed, Apr 24, 2013 at 02:11:26PM +0800, Amos Kong wrote:
> On Wed, Apr 24, 2013 at 07:59:36AM +0200, Gerd Hoffmann wrote:
> >   Hi,
> > 
> > > b44a7be17bdd270ea029a8e2ec0c2e80c6cd0444 virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
> > > 5a7730db57ab0715223421e65b54fb50d6fefe5c virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
> > 
> > > Anthony + Gerd, can we expect an rev to pc-bios/bios.bin soon to pick up
> > > these seabios changes for vhost-scsi..?
> > 
> > I don't feel like placing a seabios git snapshot into qemu.
> > 
> > I think we should just cherry-pick everything we need for qemu 1.5 into
> > the 1.7.2-stable branch, roll out a 1.7.2.2 release and put that into
> > qemu 1.5.
> > 
> > So, what will be needed?
> > 
> >   (1) The two commits listed above.
> >   (2) The patch for the pvpanic device (assuming it gets
> >       merged for 1.5).
> > 
> > Anything else?
> 
> Hi Gerd,
> 
> This bug fix is needed:
> 
> | commit 11a7234491cb2a027b0fa5e82af38a3e78b44c80
> | Author: Kevin O'Connor <kevin@koconnor.net>
> | Date:   Tue Mar 5 17:52:21 2013 +0800
> | 
> |     Cache boot-fail-wait to avoid romfile access after POST.
> | 
> |     Memory allocated with malloc_tmp() can't be used after the POST phase.
> |     So, access boot-fail-wait in post phase and store it for the boot
> |     phase to use.  This fixes the regression introduced by commit
> |     59d6ca52.
 

This patch doesn't contain in seabios-1.7.2.1, it wasn't contained in
latest bios.bin of qemu, it caused 'strict boot' doesn't work.

 # qemu -boot strict=on

What can we do for this? push Kevin add this patch in stable branch
and re-built bios.bin?
 
> > Hard freeze for qemu 1.5 is next Wednesday.
> > 
> > cheers,
> >   Gerd
> > 
> > PS: For qemu 1.6 (which will hopefully include the acpi table
> >     reorganization) we will need a new release from the master
> >     branch and thus a bit more careful release planning.
Gerd Hoffmann May 27, 2013, 6:17 a.m. UTC | #10
Hi,

>> | commit 11a7234491cb2a027b0fa5e82af38a3e78b44c80
>> | Author: Kevin O'Connor <kevin@koconnor.net>
>> | Date:   Tue Mar 5 17:52:21 2013 +0800
>> | 
>> |     Cache boot-fail-wait to avoid romfile access after POST.
>> | 
>> |     Memory allocated with malloc_tmp() can't be used after the POST phase.
>> |     So, access boot-fail-wait in post phase and store it for the boot
>> |     phase to use.  This fixes the regression introduced by commit
>> |     59d6ca52.
>  
> 
> This patch doesn't contain in seabios-1.7.2.1, it wasn't contained in
> latest bios.bin of qemu, it caused 'strict boot' doesn't work.
> 
>  # qemu -boot strict=on
> 
> What can we do for this? push Kevin add this patch in stable branch
> and re-built bios.bin?

It's in the 1.7.2-stable branch meanwhile.  1.7.2.2 isn't tagged yet
though.  It's going slower than usual, seems Kevin is a bit busy with
non-seabios things these days.

Once we have a release released I'll put updates into master and the
stable-1.5 branch.

cheers,
  Gerd
Anthony Liguori June 17, 2013, 9:18 p.m. UTC | #11
Pulled.  Thanks.

Regards,

Anthony Liguori