qemu/hw/block
Changpeng Liu 42824b4d16 virtio-blk: set correct config size for the host driver
Commit caa1ee43 "vhost-user-blk: add discard/write zeroes features
support" added fields to struct virtio_blk_config. This changes
the size of the config space and breaks migration from QEMU 3.1
and older:

qemu-system-ppc64: get_pci_config_device: Bad config data: i=0x10 read: 41 device: 1 cmask: ff wmask: 80 w1cmask:0
qemu-system-ppc64: Failed to load PCIDevice:config
qemu-system-ppc64: Failed to load virtio-blk:virtio
qemu-system-ppc64: error while loading state for instance 0x0 of device 'pci@800000020000000:01.0/virtio-blk'
qemu-system-ppc64: load of migration failed: Invalid argument

Since virtio-blk doesn't support the "discard" and "write zeroes"
features, it shouldn't even expose the associated fields in the
config space actually. Just include all fields up to num_queues to
match QEMU 3.1 and older.

Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 1550022537-27565-1-git-send-email-changpeng.liu@intel.com
Message-Id: <1550022537-27565-1-git-send-email-changpeng.liu@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-02-13 16:18:17 +08:00
..
dataplane xen-block: handle resize callback 2019-02-04 11:04:49 +00:00
block.c block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
cdrom.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ecc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
fdc.c fdc: fix segfault in fdctrl_stop_transfer() when DMA is disabled 2018-11-19 12:51:22 +01:00
hd-geometry.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
m25p80.c hw/block: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
Makefile.objs xen: remove the legacy 'xen_disk' backend 2019-01-14 13:45:40 +00:00
nand.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
nvme.c nvme: use pci_dev directly in nvme_realize 2019-01-31 00:38:19 +01:00
nvme.h qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
onenand.c block/noenand: Convert sysbus init function to realize function 2018-12-13 13:47:57 +00:00
pflash_cfi01.c hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events 2018-06-29 15:04:18 +01:00
pflash_cfi02.c hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events 2018-06-29 15:04:18 +01:00
tc58128.c hw/block/tc58128.c: Don't use load_image() 2018-12-14 13:30:52 +00:00
trace-events xen-block: handle resize callback 2019-02-04 11:04:49 +00:00
vhost-user-blk.c vhost-user-blk: add discard/write zeroes features support 2019-02-05 10:58:33 -05:00
virtio-blk.c virtio-blk: set correct config size for the host driver 2019-02-13 16:18:17 +08:00
xen_blkif.h xen: import ring.h from xen 2017-04-21 12:41:29 -07:00
xen-block.c xen-block: handle resize callback 2019-02-04 11:04:49 +00:00