/*
* test_driver.c: A "mock" hypervisor for use by application unit tests
*
- * Copyright (C) 2006-2015 Red Hat, Inc.
+ * Copyright (C) 2006-2019 Red Hat, Inc.
* Copyright (C) 2006 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
virDomainSnapshotObjPtr snap = payload;
testSnapRemoveDataPtr curr = data;
- if (snap->def->current)
+ if (curr->vm->current_snapshot == snap)
curr->current = true;
virDomainSnapshotObjListRemove(curr->vm->snapshots, snap);
return 0;
virDomainSnapshotForEachDescendant(snap,
testDomainSnapshotDiscardAll,
&rem);
- if (rem.current) {
- if (flags & VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY)
- snap->def->current = true;
+ if (rem.current)
vm->current_snapshot = snap;
- }
} else if (snap->nchildren) {
testSnapReparentData rep;
rep.parent = snap->parent;
if (snap->def->parent) {
parentsnap = virDomainSnapshotFindByName(vm->snapshots,
snap->def->parent);
- if (!parentsnap) {
+ if (!parentsnap)
VIR_WARN("missing parent snapshot matching name '%s'",
snap->def->parent);
- } else {
- parentsnap->def->current = true;
- }
}
vm->current_snapshot = parentsnap;
}
}
- if (vm->current_snapshot) {
- vm->current_snapshot->def->current = false;
+ if (vm->current_snapshot)
vm->current_snapshot = NULL;
- }
- snap->def->current = true;
config = virDomainDefCopy(snap->def->dom, privconn->caps,
privconn->xmlopt, NULL, true);
if (!config)