qemu-stable
[Top][All Lists]
Advanced

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

[Qemu-stable] [PATCH 3/6] qga: vss-win32: Fix interference with snapshot


From: Michael Roth
Subject: [Qemu-stable] [PATCH 3/6] qga: vss-win32: Fix interference with snapshot deletion by other VSS request
Date: Sun, 23 Feb 2014 19:21:10 -0600

From: Tomoki Sekiyama <address@hidden>

When a VSS requester such as vshadow.exe or diskshadow.exe requests to
delete snapshots, qemu-ga VSS provider's DeleteSnapshots() is also called
and returns E_NOTIMPL, that makes the deletion fail.
To avoid this issue, return S_OK and set values that represent no snapshots
are deleted by qemu-ga VSS provider.

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Gal Hammer <address@hidden>
Reviewed-by: Yan Vugenfirer <address@hidden>
Cc: address@hidden
Signed-off-by: Michael Roth <address@hidden>
---
 qga/vss-win32/provider.cpp |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp
index b233646..d5129f8 100644
--- a/qga/vss-win32/provider.cpp
+++ b/qga/vss-win32/provider.cpp
@@ -278,7 +278,9 @@ STDMETHODIMP CQGAVssProvider::DeleteSnapshots(
     VSS_ID SourceObjectId, VSS_OBJECT_TYPE eSourceObjectType,
     BOOL bForceDelete, LONG *plDeletedSnapshots, VSS_ID *pNondeletedSnapshotID)
 {
-    return E_NOTIMPL;
+    *plDeletedSnapshots = 0;
+    *pNondeletedSnapshotID = SourceObjectId;
+    return S_OK;
 }
 
 STDMETHODIMP CQGAVssProvider::BeginPrepareSnapshot(
-- 
1.7.9.5




reply via email to

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