vhost-user-blk: Use started flag in vhost_user_blk_set_status()
Use started flag in vhost_user_blk_set_status() to decide if starting vhost-user backend or not. Signed-off-by: Xie Yongji <xieyongji@baidu.com> Signed-off-by: Zhang Yu <zhangyu31@baidu.com> Message-Id: <20190320112646.3712-4-xieyongji@baidu.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
7dc7f12297
commit
96cb549817
|
@ -190,7 +190,7 @@ static void vhost_user_blk_stop(VirtIODevice *vdev)
|
||||||
static void vhost_user_blk_set_status(VirtIODevice *vdev, uint8_t status)
|
static void vhost_user_blk_set_status(VirtIODevice *vdev, uint8_t status)
|
||||||
{
|
{
|
||||||
VHostUserBlk *s = VHOST_USER_BLK(vdev);
|
VHostUserBlk *s = VHOST_USER_BLK(vdev);
|
||||||
bool should_start = status & VIRTIO_CONFIG_S_DRIVER_OK;
|
bool should_start = vdev->started;
|
||||||
|
|
||||||
if (!vdev->vm_running) {
|
if (!vdev->vm_running) {
|
||||||
should_start = false;
|
should_start = false;
|
||||||
|
@ -350,7 +350,7 @@ static void vhost_user_blk_device_unrealize(DeviceState *dev, Error **errp)
|
||||||
VHostUserBlk *s = VHOST_USER_BLK(dev);
|
VHostUserBlk *s = VHOST_USER_BLK(dev);
|
||||||
struct vhost_virtqueue *vqs = s->dev.vqs;
|
struct vhost_virtqueue *vqs = s->dev.vqs;
|
||||||
|
|
||||||
vhost_user_blk_set_status(vdev, 0);
|
virtio_set_status(vdev, 0);
|
||||||
vhost_dev_cleanup(&s->dev);
|
vhost_dev_cleanup(&s->dev);
|
||||||
vhost_dev_free_inflight(s->inflight);
|
vhost_dev_free_inflight(s->inflight);
|
||||||
g_free(vqs);
|
g_free(vqs);
|
||||||
|
|
Loading…
Reference in a new issue