From: Michael S. Tsirkin Date: Tue, 25 Dec 2012 15:41:07 +0000 (+0200) Subject: vhost: set started flag while start is in progress X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=24f4fe345c1b80bab1ee18573914123d8028a9e6;p=qemu.git vhost: set started flag while start is in progress This makes it possible to use started flag for sanity checking of callbacks that happen during start/stop. Signed-off-by: Michael S. Tsirkin --- diff --git a/hw/vhost.c b/hw/vhost.c index b6d73ca05f..4fa5007d09 100644 --- a/hw/vhost.c +++ b/hw/vhost.c @@ -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; }