On 06/07/22 14:43, Richard W.M. Jones wrote:
The patch looks OK, but qemu-ga supports vsock (-m listen-vsock), so
wouldn't it be easier to use that? I thought that virtio-serial was
unmaintained these days and so vsock would be preferred.
I've not heard of qga using vsock. While that doesn't make it impossible
(obviously), the libvirt mechanism for setting up a QGA connection
<
https://libvirt.org/formatdomain.html#channel> seems tied to
virtio-serial, both in practice and per the documentation. Furthermore,
even on Fedora 35, the
"/usr/lib/systemd/system/qemu-guest-agent.service" file contains:
[Unit]
Description=QEMU Guest Agent
BindsTo=dev-virtio\x2dports-org.qemu.guest_agent.0.device
After=dev-virtio\x2dports-org.qemu.guest_agent.0.device
IgnoreOnIsolate=True
[Service]
UMask=0077
EnvironmentFile=/etc/sysconfig/qemu-ga
ExecStart=/usr/bin/qemu-ga \
--method=virtio-serial \
--path=/dev/virtio-ports/org.qemu.guest_agent.0 \
--blacklist=${BLACKLIST_RPC} \
-F${FSFREEZE_HOOK_PATHNAME}
Restart=always
RestartSec=0
[Install]
WantedBy=dev-virtio\x2dports-org.qemu.guest_agent.0.device
So its startup is more or less basically tied to / triggered by the
virtio-serial port named "org.qemu.guest_agent.0". I've not heard of an
OS wiring up the qga service through vsock.
virtio-serial does not look unmaintained (in QEMU anyways), the
MAINTAINERS file @ 6d940eff4734 says:
virtio-serial
M: Laurent Vivier <lvivier(a)redhat.com>
R: Amit Shah <amit(a)kernel.org>
S: Supported
F: hw/char/virtio-serial-bus.c
F: hw/char/virtio-console.c
F: include/hw/virtio/virtio-serial.h
F: tests/qtest/virtio-serial-test.c
"S: Supported" --> "Someone is actually paid to look after this."
Thanks
Laszlo