virtio-scsi: scsi events must be converted to target endianness
commit424baff549a9c8a7b5e814ce2bcb857d25163468
authorCédric Le Goater <clg@fr.ibm.com>
Mon, 30 Jun 2014 15:17:17 +0000 (30 17:17 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 1 Jul 2014 07:40:38 +0000 (1 09:40 +0200)
tree3b9743827253720f47ef79eb9c8be5e5f2d33f9e
parentdfecbb95e38d94d0e68f6e648a3c6489219a885d
virtio-scsi: scsi events must be converted to target endianness

Virtio SCSI Events need to be byteswapped before being pushed
when host and guest have a different endianness. Not doing so
breaks hotplug of virtio scsi disks, with the following error
message being printed in the guest console:

virtio_scsi: Unsupport virtio scsi event 1000000

This issue got uncovered while testing disk hotplug with a PowerKVM
ppc64le guest. I have checked that this issue also affects a x86_64
guest run on a ppc64 host.

Signed-off-by: Cédric Le Goater <clg@fr.ibm.com>
[ Ported from PowerKVM,
  Greg Kurz <gkurz@linux.vnet.ibm.com> ]
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/virtio-scsi.c