virHostdevManager *hostdev_mgr = driver->hostdevMgr;
unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI;
size_t i;
+ virErrorPtr save_err;
VIR_DEBUG("Cleaning up domain with id '%d' and name '%s'",
vm->def->id, vm->def->name);
+ virErrorPreserveLast(&save_err);
+
hostdev_flags |= VIR_HOSTDEV_SP_USB;
/* Call hook with stopped operation. Ignore error and continue with cleanup */
VIR_HOOK_SUBOP_END, NULL));
virDomainObjRemoveTransientDef(vm);
+ virErrorRestore(&save_err);
}
/*
{
virHostdevManager *hostdev_mgr = driver->hostdevMgr;
unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI | VIR_HOSTDEV_SP_USB;
+ virErrorPtr save_err;
if (virDomainObjSetDefTransient(driver->xmlopt, vm, NULL) < 0)
return -1;
return 0;
error:
+ virErrorPreserveLast(&save_err);
libxlNetworkUnwindDevices(vm->def);
virHostdevReAttachDomainDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME,
vm->def, hostdev_flags);
virDomainObjRemoveTransientDef(vm);
+ virErrorRestore(&save_err);
return -1;
}