On Jan 13, 2014, at 7:25 PM, Tomoki Sekiyama wrote:
> 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
> ---
> 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(
>
>
Reviewed-by: Yan Vugenfirer