On 8/4/25 13:01, Daniel P. Berrangé wrote: > 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.
The original problem I tried to fix was (and I am bit hazy on all the details): when somebody built their own kernel but forgot to enable virtio-serial then qemu-ga would fail to initialize but with a completely irrelevant error message. > > 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. Yeah, do you want me to post such patch? Michal