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

On Wed, Aug 13, 2025 at 1:01 PM Vladimir Sementsov-Ogievskiy
<[email protected]> wrote:
>
> Keep QIOChannelSocket pointer instead of more generic
> QIOChannel. No real difference for now, but it would
> be simpler to migrate socket fd in further commit.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
> ---
>  hw/virtio/vhost-user.c | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
> index 46f09f5988..fe9d91348d 100644
> --- a/hw/virtio/vhost-user.c
> +++ b/hw/virtio/vhost-user.c
> @@ -244,7 +244,7 @@ struct vhost_user {
>      struct vhost_dev *dev;
>      /* Shared between vhost devs of the same virtio device */
>      VhostUserState *user;
> -    QIOChannel *backend_ioc;
> +    QIOChannelSocket *backend_sioc;
>      GSource *backend_src;
>      NotifierWithReturn postcopy_notifier;
>      struct PostCopyFD  postcopy_fd;
> @@ -1789,8 +1789,8 @@ static void close_backend_channel(struct vhost_user *u)
>      g_source_destroy(u->backend_src);
>      g_source_unref(u->backend_src);
>      u->backend_src = NULL;
> -    object_unref(OBJECT(u->backend_ioc));
> -    u->backend_ioc = NULL;
> +    object_unref(OBJECT(u->backend_sioc));
> +    u->backend_sioc = NULL;
>  }
>
>  static gboolean backend_read(QIOChannel *ioc, GIOCondition condition,
> @@ -1897,7 +1897,6 @@ static int vhost_setup_backend_channel(struct vhost_dev 
> *dev)
>      bool reply_supported =
>          vhost_user_has_prot(dev, VHOST_USER_PROTOCOL_F_REPLY_ACK);
>      Error *local_err = NULL;
> -    QIOChannel *ioc;
>
>      if (!vhost_user_has_prot(dev, VHOST_USER_PROTOCOL_F_BACKEND_REQ)) {
>          return 0;
> @@ -1909,15 +1908,15 @@ static int vhost_setup_backend_channel(struct 
> vhost_dev *dev)
>          return -saved_errno;
>      }
>
> -    ioc = QIO_CHANNEL(qio_channel_socket_new_fd(sv[0], &local_err));
> -    if (!ioc) {
> +    u->backend_sioc = qio_channel_socket_new_fd(sv[0], &local_err);
> +    if (!u->backend_sioc) {
>          error_report_err(local_err);
>          return -ECONNREFUSED;
>      }
> -    u->backend_ioc = ioc;
> -    u->backend_src = qio_channel_add_watch_source(u->backend_ioc,
> -                                                G_IO_IN | G_IO_HUP,
> -                                                backend_read, dev, NULL, 
> NULL);
> +    u->backend_src = 
> qio_channel_add_watch_source(QIO_CHANNEL(u->backend_sioc),
> +                                                  G_IO_IN | G_IO_HUP,
> +                                                  backend_read, dev,
> +                                                  NULL, NULL);
>
>      if (reply_supported) {
>          msg.hdr.flags |= VHOST_USER_NEED_REPLY_MASK;
> @@ -2321,7 +2320,7 @@ static int vhost_user_backend_cleanup(struct vhost_dev 
> *dev)
>          close(u->postcopy_fd.fd);
>          u->postcopy_fd.handler = NULL;
>      }
> -    if (u->backend_ioc) {
> +    if (u->backend_sioc) {
>          close_backend_channel(u);
>      }
>      g_free(u->region_rb);
> --
> 2.48.1
>
>

Reply via email to