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 > >
