Skip to content

Commit

Permalink
vhost-user-blk: Add return value for vhost_user_blk_start()
Browse files Browse the repository at this point in the history
Add a return value for vhost_user_blk_start() to check whether
we start vhost-user backend successfully or not.

Signed-off-by: Xie Yongji <[email protected]>
Signed-off-by: Zhang Yu <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Michael S. Tsirkin <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
  • Loading branch information
Xie Yongji authored and mstsirkin committed May 20, 2019
1 parent f3facbe commit a57f009
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions hw/block/vhost-user-blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ const VhostDevConfigOps blk_ops = {
.vhost_dev_config_notifier = vhost_user_blk_handle_config_change,
};

static void vhost_user_blk_start(VirtIODevice *vdev)
static int vhost_user_blk_start(VirtIODevice *vdev)
{
VHostUserBlk *s = VHOST_USER_BLK(vdev);
BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
Expand All @@ -112,13 +112,13 @@ static void vhost_user_blk_start(VirtIODevice *vdev)

if (!k->set_guest_notifiers) {
error_report("binding does not support guest notifiers");
return;
return -ENOSYS;
}

ret = vhost_dev_enable_notifiers(&s->dev, vdev);
if (ret < 0) {
error_report("Error enabling host notifiers: %d", -ret);
return;
return ret;
}

ret = k->set_guest_notifiers(qbus->parent, s->dev.nvqs, true);
Expand Down Expand Up @@ -157,12 +157,13 @@ static void vhost_user_blk_start(VirtIODevice *vdev)
vhost_virtqueue_mask(&s->dev, vdev, i, false);
}

return;
return ret;

err_guest_notifiers:
k->set_guest_notifiers(qbus->parent, s->dev.nvqs, false);
err_host_notifiers:
vhost_dev_disable_notifiers(&s->dev, vdev);
return ret;
}

static void vhost_user_blk_stop(VirtIODevice *vdev)
Expand Down

0 comments on commit a57f009

Please sign in to comment.