From d9e1f574cb6eac0a3a2f97b67d2e7a3ad9c1dc95 Mon Sep 17 00:00:00 2001 From: Tomoki Sekiyama Date: Mon, 13 Jan 2014 12:25:39 -0500 Subject: qga: vss-win32: Fix interference with snapshot deletion by other VSS request 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 Reviewed-by: Gal Hammer Reviewed-by: Yan Vugenfirer Signed-off-by: Michael Roth --- qga/vss-win32/provider.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'qga/vss-win32') diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index b2336465ac..d5129f8f65 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( -- cgit v1.2.3