]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
vhost: set started flag while start is in progress
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 25 Dec 2012 15:41:07 +0000 (17:41 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 7 Jan 2013 17:42:23 +0000 (19:42 +0200)
This makes it possible to use started flag for sanity checking
of callbacks that happen during start/stop.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/vhost.c

index b6d73ca05fd35325fa70cfa2a91ea461581a0723..4fa5007d09246018c963bbcb4ae0066730b2f49a 100644 (file)
@@ -873,6 +873,9 @@ void vhost_dev_disable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev)
 int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
 {
     int i, r;
+
+    hdev->started = true;
+
     if (!vdev->binding->set_guest_notifiers) {
         fprintf(stderr, "binding does not support guest notifiers\n");
         r = -ENOSYS;
@@ -918,8 +921,6 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
         }
     }
 
-    hdev->started = true;
-
     return 0;
 fail_log:
 fail_vq:
@@ -934,6 +935,8 @@ fail_features:
     vdev->binding->set_guest_notifiers(vdev->binding_opaque, hdev->nvqs, false);
 fail_notifiers:
 fail:
+
+    hdev->started = false;
     return r;
 }