qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Fix Event Viewer errors caused by qemu-ga


From: Sameeh Jubran
Subject: [Qemu-devel] [PATCH] Fix Event Viewer errors caused by qemu-ga
Date: Tue, 21 Mar 2017 12:49:52 +0200

When the command "guest-fsfreeze-freeze" is executed it causes
the VSS service to log the errors below in the Event Viewer.

These errors are caused by two issues in the function "CommitSnapshots" in
provider.cpp:

1. When VSS_TIMEOUT_MSEC expires the funtion returns E_ABORT. This causes
the error #12293.

2. The VSS_TIMEOUT_MSEC value is too big. According to msdn the
"Flush & Hold" operation has 10 seconds timeout not configurable, The
"CommitSnapshots" is a part of the "Flush & Hold" process and thus any
timeout bigger than 10 seconds would cause the error #12298 and anything
bigger than 40 seconds causes the error #12340. All this info can be found here:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384589(v=vs.85).aspx

|event id|                           error                               |
* 12293  : Volume Shadow Copy Service error: Error calling a routine on a
           Shadow Copy Provider {00000000-0000-0000-0000-000000000000}.
       Routine details CommitSnapshots [hr = 0x80004004, Operation
       aborted.

* 12340  : Volume Shadow Copy Error: VSS waited more than 40 seconds for
           all volumes to be flushed.  This caused volume
       \\?\Volume{62a171da-32ec-11e4-80b1-806e6f6e6963}\ to timeout
       while waiting for the release-writes phase of shadow copy
       creation. Trying again when disk activity is lower may solve
       this problem.

* 12298  : Volume Shadow Copy Service error: The I/O writes cannot be held
           during the shadow copy creation period on volume
           \\?\Volume{62a171d9-32ec-11e4-80b1-806e6f6e6963}\. The volume
       index in the shadow copy set is 0. Error details:
       Open[0x00000000, The operation completed successfully. ],
       Flush[0x00000000, The operation completed successfully.],
       Release[0x00000000, The operation completed successfully.],
       OnRun[0x80042314, The shadow copy provider timed out while
       holding writes to the volume being shadow copied. This is
       probably due to excessive activity on the volume by an
       application or a system service. Try again later when activity
       on the volume is reduced.

Signed-off-by: Sameeh Jubran <address@hidden>
---
 qga/vss-win32/provider.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp
index ef94669..d72f4d4 100644
--- a/qga/vss-win32/provider.cpp
+++ b/qga/vss-win32/provider.cpp
@@ -15,7 +15,7 @@
 #include <inc/win2003/vscoordint.h>
 #include <inc/win2003/vsprov.h>
 
-#define VSS_TIMEOUT_MSEC (60*1000)
+#define VSS_TIMEOUT_MSEC (9 * 1000)
 
 static long g_nComObjsInUse;
 HINSTANCE g_hinstDll;
@@ -377,7 +377,6 @@ STDMETHODIMP CQGAVssProvider::CommitSnapshots(VSS_ID 
SnapshotSetId)
     if (WaitForSingleObject(hEventThaw, VSS_TIMEOUT_MSEC) != WAIT_OBJECT_0) {
         /* Send event to qemu-ga to notify the provider is timed out */
         SetEvent(hEventTimeout);
-        hr = E_ABORT;
     }
 
     CloseHandle(hEventThaw);
-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]