static int
qemuDomainUndefineFlags(virDomainPtr dom,
- unsigned int flags)
+ unsigned int flags)
{
struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm;
goto cleanup;
}
+ if (!vm->persistent) {
+ qemuReportError(VIR_ERR_OPERATION_INVALID,
+ "%s", _("cannot undefine transient domain"));
+ goto cleanup;
+ }
+
if (!virDomainObjIsActive(vm) &&
(nsnapshots = virDomainSnapshotObjListNum(&vm->snapshots, 0))) {
struct snap_remove rem;
- if (flags & VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA) {
+ if (!(flags & VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA)) {
qemuReportError(VIR_ERR_OPERATION_INVALID,
_("cannot delete inactive domain with %d "
"snapshots"),
goto cleanup;
}
- if (!vm->persistent) {
- qemuReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("cannot undefine transient domain"));
- goto cleanup;
- }
-
name = qemuDomainManagedSavePath(driver, vm);
if (name == NULL)
goto cleanup;