Reviewed-by: Raphael Norwitz <[email protected]>

On Thu, Oct 16, 2025 at 7:46 AM Vladimir Sementsov-Ogievskiy
<[email protected]> wrote:
>
> Split it into _init() and _connect() part, following pattern of
> vhost_dev_init / vhost_dev_connect.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
> ---
>  hw/block/vhost-user-blk.c | 27 ++++++++++++++++++++++++---
>  1 file changed, 24 insertions(+), 3 deletions(-)
>
> diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
> index c31c265a0e..9c727c3977 100644
> --- a/hw/block/vhost-user-blk.c
> +++ b/hw/block/vhost-user-blk.c
> @@ -58,6 +58,7 @@ static const int user_feature_bits[] = {
>  };
>
>  static void vhost_user_blk_event(void *opaque, QEMUChrEvent event);
> +static int vhost_user_blk_connect(DeviceState *dev, Error **errp);
>
>  static void vhost_user_blk_update_config(VirtIODevice *vdev, uint8_t *config)
>  {
> @@ -352,9 +353,6 @@ static int vhost_user_blk_init(DeviceState *dev, bool 
> connect, Error **errp)
>
>      trace_vhost_user_blk_init_in(vdev);
>
> -    /* TODO: implement support for connect=false */
> -    assert(connect);
> -
>      assert(!s->connected);
>
>      s->dev.num_queues = s->num_queues;
> @@ -371,6 +369,29 @@ static int vhost_user_blk_init(DeviceState *dev, bool 
> connect, Error **errp)
>          return ret;
>      }
>
> +    if (connect) {
> +        ret = vhost_user_blk_connect(dev, errp);
> +        if (ret < 0) {
> +            return ret;
> +        }
> +    }
> +
> +    trace_vhost_user_blk_init_out(vdev);
> +
> +    return 0;
> +}
> +
> +static int vhost_user_blk_connect(DeviceState *dev,
> +                                  Error **errp)
> +{
> +    VirtIODevice *vdev = VIRTIO_DEVICE(dev);
> +    VHostUserBlk *s = VHOST_USER_BLK(vdev);
> +    int ret = 0;
> +
> +    trace_vhost_user_blk_connect_in(vdev);
> +
> +    assert(!s->connected);
> +
>      ret = vhost_dev_connect(&s->dev, errp);
>      if (ret < 0) {
>          return ret;
> --
> 2.48.1
>
>

Reply via email to