diff options
author | Alex Bennée | 2022-08-02 11:49:59 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2022-10-07 15:41:51 +0200 |
commit | b8f3e6a18de6ad5cb668c5430b4933f1e40783cf (patch) | |
tree | 5dae60d01c48a72924737b17221176a1020be804 /include | |
parent | hw/virtio: move vm_running check to virtio_device_started (diff) | |
download | qemu-b8f3e6a18de6ad5cb668c5430b4933f1e40783cf.tar.gz qemu-b8f3e6a18de6ad5cb668c5430b4933f1e40783cf.tar.xz qemu-b8f3e6a18de6ad5cb668c5430b4933f1e40783cf.zip |
hw/virtio: move vhd->started check into helper and add FIXME
The `started` field is manipulated internally within the vhost code
except for one place, vhost-user-blk via f5b22d06fb (vhost: recheck
dev state in the vhost_migration_log routine). Mark that as a FIXME
because it introduces a potential race. I think the referenced fix
should be tracking its state locally.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220802095010.3330793-12-alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwittz@nutanix.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/virtio/vhost.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 586c5457e2..61b957e927 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -94,6 +94,7 @@ struct vhost_dev { uint64_t protocol_features; uint64_t max_queues; uint64_t backend_cap; + /* @started: is the vhost device started? */ bool started; bool log_enabled; uint64_t log_size; @@ -166,6 +167,17 @@ int vhost_dev_enable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev); void vhost_dev_disable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev); /** + * vhost_dev_is_started() - report status of vhost device + * @hdev: common vhost_dev structure + * + * Return the started status of the vhost device + */ +static inline bool vhost_dev_is_started(struct vhost_dev *hdev) +{ + return hdev->started; +} + +/** * vhost_dev_start() - start the vhost device * @hdev: common vhost_dev structure * @vdev: the VirtIODevice structure |