On Mon, Aug 04, 2025 at 01:54:09PM +0300, Kostiantyn Kostiuk wrote: > Hi Michal, > > I want to discuss your patch > https://gitlab.com/qemu-project/qemu/-/commit/c6f5dd7ac8ef62dcdec4cdeda1467c658161afff > > Unfortunately, we found bad behaviour on Windows. On Windows, we run QGA > with `-d --retry-path` options by default, so we expect that QGA will start > even without the vioserial driver and will wait for communication > forever. > > This worked previously, but after your patch QGA service fails if the > vioserial communication channel is missing. This behavior is totally > unacceptable for us. > > You send this patch to fix a Linux problem, but it causes a Windows problem. > So, what we need on Windows, if --retry-path specified, we should ignore > any channel error and retry the connection. If -d and --retry-path are > specified, it should become a daemon first to make Windows Service Manager > happy.
This looks pretty simple to fix - in the initialize_agent() method, if channel_init() fails, then simply ignore the failure if 'retry_path' is set, because the later code in run_agent() will already correctly retry the connection. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|