Quoting Bishara AbuHattoum (2018-10-07 06:02:16) > Changes from v1: > [1/7] qga: group agent init/cleanup init separate routines > Fixed typo in the commit message and dropped the unnecessary message > ID > [2/7] qga: hang GAConfig/socket_activation off of GAState global > Dropped the unnecessary message ID > [3/7] qga: move w32 service handling out of run_agent() > Fixed run_agent() extra call and dropped the unnecessary message ID > [4/7] qga: add --retry-path option for re-initializing channel on failure > Dropped the unnecessary message ID > [5/7] qga-win: install service with --retry-path set by default > Dropped the unnecessary message ID > [6/7] qga-win: report specific error when failing to open channel > Dropped the unnecessary message ID > [7/7] qga-win: changing --retry-path option behavior > Dropped the use of two events and WaitForMultipleObjects, and used > one 'wakeup_event'. > > A patch series was firstly introduced about a year ago which resolves an issue > with qemu-ga and virtio-serial functionality. The issue was discussed in the > following thread: > https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg06256.html > > In short, Sameeh sent an implementation which uses udev on Linux and device > events API on Windows. Since udev API is only supported for kernels 2.6+ it is > not a good approach and Michael suggested his alternative series which uses a > loop and checks if the serial is present or not. Since the Windows API is > supported and has backward compatibility up until Windows xp, there is no > reason > for not using the Windows API. It was finally agreed by Michael and Sameeh > that > a combination of both approaches should be used. > > This series does just that, it rebases Michael's patches on top of upstream > and > merges Sameeh's patches for Windows API into Michael's implementation. > > Michael's series: > https://github.com/mdroth/qemu/commits/qga-retry-path > Sameeh's series: > https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02400.html > https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02399.html > https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02401.html
Thanks, applied to qga tree with some minor fix-ups: https://github.com/mdroth/qemu/commits/qga > > Bishara AbuHattoum (1): > qga-win: changing --retry-path option behavior > > Michael Roth (6): > qga: group agent init/cleanup init separate routines > qga: hang GAConfig/socket_activation off of GAState global > qga: move w32 service handling out of run_agent() > qga: add --retry-path option for re-initializing channel on failure > qga-win: install service with --retry-path set by default > qga-win: report specific error when failing to open channel > > qga/channel-win32.c | 3 +- > qga/installer/qemu-ga.wxs | 2 +- > qga/main.c | 288 +++++++++++++++++++++++++++++--------- > qga/service-win32.h | 4 + > 4 files changed, 229 insertions(+), 68 deletions(-) > > -- > 2.17.0 >