From 4d5b5a68fa8dca79498c2a1185679ceaabc46c1a Mon Sep 17 00:00:00 2001 From: Juan Quintela <quintela@redhat.com> Date: Tue, 22 Dec 2009 17:06:02 -0200 Subject: [PATCH 15/16] RHEL5.4 needs virtio-blk at device version 2 RH-Author: Juan Quintela <quintela@redhat.com> Message-id: <4b75f41a98168d909307f2fca2ddb862a2f95645.1261501421.git.quintela@redhat.com> Patchwork-id: 5900 O-Subject: [PATCH 10/11] RHEL5.4 needs virtio-blk at device version 2 Bugzilla: 541731 RH-Acked-by: Markus Armbruster <armbru@redhat.com> RH-Acked-by: Dor Laor <dlaor@redhat.com> RH-Acked-by: Michael S. Tsirkin <mst@redhat.com> RH-Acked-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> --- qemu/hw/pc.c | 1 + qemu/hw/virtio-blk.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletions(-) Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- qemu/hw/pc.c | 1 + qemu/hw/virtio-blk.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c index 214d292..bfa904c 100644 --- a/qemu/hw/pc.c +++ b/qemu/hw/pc.c @@ -1295,6 +1295,7 @@ QEMUMachine rhel540_machine = { { .name = "cpu", .version_id = 7 }, { .name = "kvmclock", .version_id = SAVEVM_DISABLED}, { .name = "ide", .version_id = 3}, + { .name = "virtio-blk", .version_id = 2}, { /* Empty */ } }, }; diff --git a/qemu/hw/virtio-blk.c b/qemu/hw/virtio-blk.c index 899b339..6f74c25 100644 --- a/qemu/hw/virtio-blk.c +++ b/qemu/hw/virtio-blk.c @@ -352,6 +352,7 @@ void *virtio_blk_init(PCIBus *bus, BlockDriverState *bs) VirtIOBlock *s; int cylinders, heads, secs; static int virtio_blk_id; + int version_id = machine_device_version("virtio-blk", 3); s = (VirtIOBlock *)virtio_init_pci(bus, "virtio-blk", PCI_VENDOR_ID_REDHAT_QUMRANET, @@ -375,7 +376,10 @@ void *virtio_blk_init(PCIBus *bus, BlockDriverState *bs) s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output); qemu_add_vm_change_state_handler(virtio_blk_dma_restart_cb, s); - register_savevm("virtio-blk", virtio_blk_id++, 3, + if (version_id < 3) { + s->bs->enable_write_cache = 0; + } + register_savevm("virtio-blk", virtio_blk_id++, version_id, virtio_blk_save, virtio_blk_load, s); return s; -- 1.6.3.rc4.29.g8146