From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Tomoki Sekiyama <tomoki.sekiyama@hds.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "libaiqing@huawei.com" <libaiqing@huawei.com>,
"ghammer@redhat.com" <ghammer@redhat.com>,
"stefanha@gmail.com" <stefanha@gmail.com>,
"lcapitulino@redhat.com" <lcapitulino@redhat.com>,
"vrozenfe@redhat.com" <vrozenfe@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
Seiji Aguchi <seiji.aguchi@hds.com>,
"lersek@redhat.com" <lersek@redhat.com>,
"areis@redhat.com" <areis@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v7 00/10] qemu-ga: fsfreeze on Windows using VSS
Date: Mon, 22 Jul 2013 15:33:10 -0500 [thread overview]
Message-ID: <20130722203310.16294.4607@loki> (raw)
In-Reply-To: <DC2D5EE4C7435B43AB459823CD432F1E2A74BD47@USINDEM102.corp.hds.com>
Quoting Tomoki Sekiyama (2013-07-22 15:02:23)
> Hi Michael,
>
> >> "CoCreateInstance(VSSCoordinator) failed. (Error: 80040154) Class not registered
> >I have seen this error when I ran 32bit qemu-ga on 64bit Windows (2008 server R2).
> >Just in case, could you confirm qemu-ga.exe and qga-vss.dll are built for the
> >correct architecture?
>
> I have confirmed that using 32bit qemu-ga.exe on 64bit Windows causes exactly
> what you explained at the previous e-mail. (And maybe the hung is caused by a
> dialog box popped up *behind* the terminal.... I think this is because the box
> belongs to a Windows service, but I don't know how to avoid it...)
Thanks, I was just about to confirm as well :) Problem doesn't seem to be
present if I switch to a 64-bit version.
And you're right, in the instances where the -s install freezes a dialog box
*does* pop up behind the terminal with the above error.
>
> Could you tell me which arch (32bit/64bit) of Windows and mingw
> (mingw32-* or mingw64-* in Fedora package) are you using?
This was a 32-bit binary (--cross-prefix=i686-w64-mingw32-) on a 64-bit
Windows 7 vm.
I've since built a 64-bit binary (--cross-prefix=x86_64-w64-mingw32-) and have
gotten past service install and successfully issued the freeze/thaw commands.
So I think that solves the 'hang'/CoCreateInstance issue, although it would
be nice if 32-bit could run on 64-bit, since that's supported currently. Is
this a known issue/limitation? If so, perhaps we can avoid registering the
VSS provider if the arch doesn't match?
Also, with 64-bit qemu-ga I do find that if I don't issue `net stop vss` prior
to service install I still get the following error:
C:\Users\mdroth\Documents\qga>qemu-ga.exe -s install
Registering QEMU Guest Agent VSS Provider:
C:\Users\mdroth\Documents\qga\qga-vss.dll
C:\Users\mdroth\Documents\qga\qga-vss.tlb
Failed to pCatalog->InstallComponent. (Error: 8011045c) The application name is
not unique and cannot be resolved to an application id
CoCreateInstance. (Error: 80040154) Class not registered
Removing COM+ Application: QEMU Guest Agent VSS Provider
Removing COM+ Application: QEMU Guest Agent VSS Provider
Is this expected? And if there's no way around it, would it be possible to
notify users that they need to stop the VSS service prior to install the
service?
Thanks for looking into this!
>
> Thanks,
> Tomoki Sekiyama
>
> ________________________________________
> From: fluxion [flukshun@gmail.com] on behalf of Michael Roth [mdroth@linux.vnet.ibm.com]
> Sent: Thursday, July 18, 2013 6:19 PM
> To: Tomoki Sekiyama; qemu-devel@nongnu.org
> Cc: libaiqing@huawei.com; lersek@redhat.com; ghammer@redhat.com; stefanha@gmail.com; lcapitulino@redhat.com; vrozenfe@redhat.com; pbonzini@redhat.com; Seiji Aguchi; eblake@redhat.com; areis@redhat.com
> Subject: Re: [PATCH v7 00/10] qemu-ga: fsfreeze on Windows using VSS
>
> Quoting Tomoki Sekiyama (2013-07-15 11:20:23)
> > Hi,
> >
> > This is v7 of patch series to add fsfreeze for Windows qemu-guest-agent.
> >
> > changes from v7:
> > - Fix COM initialization issue for Windows service thread (patch 07/10)
> >
> > v6: http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg01788.html
>
> Hi Tomoki,
>
> I'm also having some issues testing this, though I think my problem is a little
> different than the issue in v6:
>
> When I initially ran qemu-ga -s install, I got some output indicating the VSS
> service was registered, but then it hung. I noticed afterward that I'd already
> had the service running, so figured that that might've been the problem. So I
> stopped the service and unregistered it (using a qemu-ga install that was in
> a separate directory).
>
> Then I went back to install via qemu-ga.exe -s install, and it just hangs with
> no output. I wasn't sure how to reset the state, so I took the Windows approach
> and rebooted.
>
> After reboot, running qemu-ga -s install gives me:
>
> C:\Users\mdroth\Documents\qga>qemu-ga.exe -s install
> Registering QEMU Guest Agent VSS Provider:
> C:\Users\mdroth\Documents\qga\qga-vss.dll
> C:\Users\mdroth\Documents\qga\qga-vss.tlb
> Failed to pCatalog->InstallComponent. (Error: 8011045c) The application name is
> not unique and cannot be resolved to an application id
>
> CoCreateInstance. (Error: 80040154) Class not registered
>
> Removing COM+ Application: QEMU Guest Agent VSS Provider
> Removing COM+ Application: QEMU Guest Agent VSS Provider
>
> [mdroth@vm5 ~]$
>
> I'm not sure if I'm still in a bad state from earlier, but I can't seem to
> recover from here.
>
> If I try running qemu-ga -s uninstall, then qemu-ga -s install again, I get a
> pop-up error saying:
>
> "CoCreateInstance(VSSCoordinator) failed. (Error: 80040154) Class not registered
>
> Any ideas what's going on here? I'm on a Windows 7 vm and built using a Fedora
> 18 mingw environment. Let me know if you need any additional information to
> debug.
>
> Thanks!
>
> >
> >
> > * Description
> > In Windows, VSS (Volume Shadow Copy Service) provides a facility to
> > quiesce filesystems and applications before disk snapshots are taken.
> > This patch series implements "fsfreeze" command of qemu-ga using VSS.
> >
> >
> > * How to build & run qemu-ga with VSS support
> >
> > - Download Microsoft VSS SDK from:
> > http://www.microsoft.com/en-us/download/details.aspx?id=23490
> >
> > - Setup the SDK
> > scripts/extract-vsssdk-headers setup.exe (on POSIX-systems)
> >
> > - Specify installed SDK directory to configure option as:
> > ./configure -with-vss-sdk="path/to/VSS SDK" --cross-prefix=i686-w64-mingw32-
> >
> > - make qemu-ga.exe qga/vss-win32/qga-vss.{dll,tlb}
> >
> > - Install qemu-ga.exe, qga/vss-win32/qga-vss.{dll,tlb}, and
> > the other required mingw libraries into the same directory in guests
> >
> > - Run `qemu-ga.exe -s install' and `net start qemu-ga' in the guests
> >
> > Any feedback are appreciated.
> >
> > ---
> > Tomoki Sekiyama (10):
> > configure: Support configuring C++ compiler
> > Add c++ keywords to QAPI helper script
> > checkpatch.pl: Check .cpp files
> > Add a script to extract VSS SDK headers on POSIX system
> > qemu-ga: Add configure options to specify path to Windows/VSS SDK
> > error: Add error_set_win32 and error_setg_win32
> > qemu-ga: Add Windows VSS provider and requester as DLL
> > qemu-ga: Call Windows VSS requester in fsfreeze command handler
> > qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
> > QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command
> >
> >
> > .gitignore | 1
> > Makefile | 3
> > Makefile.objs | 2
> > QMP/qemu-ga-client | 4
> > configure | 87 +++++++
> > hmp.c | 2
> > hw/pci/pci.c | 2
> > include/qapi/error.h | 13 +
> > qga/Makefile.objs | 5
> > qga/commands-win32.c | 82 ++++++
> > qga/main.c | 10 +
> > qga/vss-win32.c | 154 ++++++++++++
> > qga/vss-win32.h | 27 ++
> > qga/vss-win32/Makefile.objs | 23 ++
> > qga/vss-win32/install.cpp | 424 +++++++++++++++++++++++++++++++++
> > qga/vss-win32/provider.cpp | 513 ++++++++++++++++++++++++++++++++++++++++
> > qga/vss-win32/qga-vss.def | 13 +
> > qga/vss-win32/qga-vss.idl | 20 ++
> > qga/vss-win32/qga-vss.tlb | Bin
> > qga/vss-win32/requester.cpp | 487 ++++++++++++++++++++++++++++++++++++++
> > qga/vss-win32/requester.h | 42 +++
> > qga/vss-win32/vss-common.h | 128 ++++++++++
> > rules.mak | 9 +
> > scripts/checkpatch.pl | 37 ++-
> > scripts/extract-vsssdk-headers | 35 +++
> > scripts/qapi.py | 12 +
> > util/error.c | 35 +++
> > 27 files changed, 2146 insertions(+), 24 deletions(-)
> > create mode 100644 qga/vss-win32.c
> > create mode 100644 qga/vss-win32.h
> > create mode 100644 qga/vss-win32/Makefile.objs
> > create mode 100644 qga/vss-win32/install.cpp
> > create mode 100644 qga/vss-win32/provider.cpp
> > create mode 100644 qga/vss-win32/qga-vss.def
> > create mode 100644 qga/vss-win32/qga-vss.idl
> > create mode 100644 qga/vss-win32/qga-vss.tlb
> > create mode 100644 qga/vss-win32/requester.cpp
> > create mode 100644 qga/vss-win32/requester.h
> > create mode 100644 qga/vss-win32/vss-common.h
> > create mode 100755 scripts/extract-vsssdk-headers
next prev parent reply other threads:[~2013-07-22 20:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-15 16:20 [Qemu-devel] [PATCH v7 00/10] qemu-ga: fsfreeze on Windows using VSS Tomoki Sekiyama
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 01/10] configure: Support configuring C++ compiler Tomoki Sekiyama
2013-07-22 20:53 ` Michael Roth
2013-07-23 21:49 ` Tomoki Sekiyama
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 02/10] Add c++ keywords to QAPI helper script Tomoki Sekiyama
2013-07-22 20:55 ` Michael Roth
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 03/10] checkpatch.pl: Check .cpp files Tomoki Sekiyama
2013-07-22 21:21 ` Michael Roth
2013-07-23 21:49 ` Tomoki Sekiyama
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 04/10] Add a script to extract VSS SDK headers on POSIX system Tomoki Sekiyama
2013-07-22 21:27 ` Michael Roth
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 05/10] qemu-ga: Add configure options to specify path to Windows/VSS SDK Tomoki Sekiyama
2013-07-22 21:42 ` Michael Roth
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 06/10] error: Add error_set_win32 and error_setg_win32 Tomoki Sekiyama
2013-07-22 21:50 ` Michael Roth
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 07/10] qemu-ga: Add Windows VSS provider and requester as DLL Tomoki Sekiyama
2013-07-15 16:20 ` [Qemu-devel] [PATCH v7 08/10] qemu-ga: Call Windows VSS requester in fsfreeze command handler Tomoki Sekiyama
2013-07-15 16:21 ` [Qemu-devel] [PATCH v7 09/10] qemu-ga: Install Windows VSS provider on `qemu-ga -s install' Tomoki Sekiyama
2013-07-15 16:21 ` [Qemu-devel] [PATCH v7 10/10] QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command Tomoki Sekiyama
2013-07-18 22:19 ` [Qemu-devel] [PATCH v7 00/10] qemu-ga: fsfreeze on Windows using VSS Michael Roth
2013-07-19 3:40 ` Tomoki Sekiyama
2013-07-22 20:02 ` Tomoki Sekiyama
2013-07-22 20:33 ` Michael Roth [this message]
2013-07-22 21:33 ` Tomoki Sekiyama
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130722203310.16294.4607@loki \
--to=mdroth@linux.vnet.ibm.com \
--cc=areis@redhat.com \
--cc=ghammer@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=lersek@redhat.com \
--cc=libaiqing@huawei.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=seiji.aguchi@hds.com \
--cc=stefanha@gmail.com \
--cc=tomoki.sekiyama@hds.com \
--cc=vrozenfe@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).