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 <vsement...@yandex-team.ru> --- 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