]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
Revert "virtio-gpu: block migration of VMs with blob=true"
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 7 Sep 2023 13:04:58 +0000 (17:04 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 6 Nov 2023 13:30:01 +0000 (17:30 +0400)
If we decide to apply this patch (for easier backporting reasons), we
can now revert it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
hw/display/virtio-gpu.c

index 1ab662db72aee1a61a8be6c008e4c4e26e7bbe02..2707bceea8a1f7dde921156c94507986dcc71554 100644 (file)
@@ -26,7 +26,6 @@
 #include "hw/virtio/virtio-gpu-pixman.h"
 #include "hw/virtio/virtio-bus.h"
 #include "hw/qdev-properties.h"
-#include "migration/blocker.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 #include "qapi/error.h"
@@ -41,8 +40,6 @@ virtio_gpu_find_check_resource(VirtIOGPU *g, uint32_t resource_id,
 
 static void virtio_gpu_reset_bh(void *opaque);
 
-static Error *blob_mig_blocker;
-
 void virtio_gpu_update_cursor_data(VirtIOGPU *g,
                                    struct virtio_gpu_scanout *s,
                                    uint32_t resource_id)
@@ -1463,14 +1460,6 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
             error_setg(errp, "blobs and virgl are not compatible (yet)");
             return;
         }
-
-        if (!blob_mig_blocker) {
-            error_setg(&blob_mig_blocker,
-                       "virtio-gpu blob VMs are currently not migratable.");
-        }
-        if (migrate_add_blocker(blob_mig_blocker, errp)) {
-            return;
-        }
     }
 
     if (!virtio_gpu_base_device_realize(qdev,
@@ -1497,9 +1486,6 @@ static void virtio_gpu_device_unrealize(DeviceState *qdev)
 {
     VirtIOGPU *g = VIRTIO_GPU(qdev);
 
-    if (virtio_gpu_blob_enabled(g->parent_obj.conf)) {
-        migrate_del_blocker(blob_mig_blocker);
-    }
     g_clear_pointer(&g->ctrl_bh, qemu_bh_delete);
     g_clear_pointer(&g->cursor_bh, qemu_bh_delete);
     g_clear_pointer(&g->reset_bh, qemu_bh_delete);