On Thu, Aug 14, 2025 at 11:06 AM Michal Prívozník <mpriv...@redhat.com> wrote:
> 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? > If you agree with Daniel's idea, I will post a patch. Best Regards, Kostiantyn Kostiuk. > > Michal > >