mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
Do not check for domain liveness in virDomainObjSetDefTransient
Remove the live attribute and mark the definition as transient whether the domain is runing or not. There were only two callers left calling with live=false: * testDomainStartState, where the domain already is active because we assigned vm->def->id just a few lines above the call * virDomainObjGetPersistentDef, which now only calls virDomainObjSetDefTransient for an active domain
This commit is contained in:
parent
1dcb1dc0f9
commit
8c40ede4a4
@ -2885,29 +2885,21 @@ virDomainObjWaitUntil(virDomainObjPtr vm,
|
||||
|
||||
|
||||
/*
|
||||
* Mark the running VM config as transient. Ensures transient hotplug
|
||||
* Mark the current VM config as transient. Ensures transient hotplug
|
||||
* operations do not persist past shutdown.
|
||||
*
|
||||
* @param caps pointer to capabilities info
|
||||
* @param xmlopt pointer to XML parser configuration object
|
||||
* @param domain domain object pointer
|
||||
* @param live if true, run this operation even for an inactive domain.
|
||||
* this allows freely updated domain->def with runtime defaults before
|
||||
* starting the VM, which will be discarded on VM shutdown. Any cleanup
|
||||
* paths need to be sure to handle newDef if the domain is never started.
|
||||
* @return 0 on success, -1 on failure
|
||||
*/
|
||||
int
|
||||
virDomainObjSetDefTransient(virCapsPtr caps,
|
||||
virDomainXMLOptionPtr xmlopt,
|
||||
virDomainObjPtr domain,
|
||||
bool live)
|
||||
virDomainObjPtr domain)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
if (!virDomainObjIsActive(domain) && !live)
|
||||
return 0;
|
||||
|
||||
if (!domain->persistent)
|
||||
return 0;
|
||||
|
||||
@ -2937,7 +2929,7 @@ virDomainObjGetPersistentDef(virCapsPtr caps,
|
||||
virDomainObjPtr domain)
|
||||
{
|
||||
if (virDomainObjIsActive(domain) &&
|
||||
virDomainObjSetDefTransient(caps, xmlopt, domain, false) < 0)
|
||||
virDomainObjSetDefTransient(caps, xmlopt, domain) < 0)
|
||||
return NULL;
|
||||
|
||||
if (domain->newDef)
|
||||
|
@ -2525,8 +2525,7 @@ void virDomainObjAssignDef(virDomainObjPtr domain,
|
||||
virDomainDefPtr *oldDef);
|
||||
int virDomainObjSetDefTransient(virCapsPtr caps,
|
||||
virDomainXMLOptionPtr xmlopt,
|
||||
virDomainObjPtr domain,
|
||||
bool live);
|
||||
virDomainObjPtr domain);
|
||||
virDomainDefPtr
|
||||
virDomainObjGetPersistentDef(virCapsPtr caps,
|
||||
virDomainXMLOptionPtr xmlopt,
|
||||
|
@ -1096,8 +1096,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver,
|
||||
VIR_FREE(managed_save_path);
|
||||
}
|
||||
|
||||
if (virDomainObjSetDefTransient(cfg->caps, driver->xmlopt,
|
||||
vm, true) < 0)
|
||||
if (virDomainObjSetDefTransient(cfg->caps, driver->xmlopt, vm) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virDomainLockProcessStart(driver->lockManager,
|
||||
|
@ -1286,7 +1286,7 @@ int virLXCProcessStart(virConnectPtr conn,
|
||||
* report implicit runtime defaults in the XML, like vnc listen/socket
|
||||
*/
|
||||
VIR_DEBUG("Setting current domain def as transient");
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* Run an early hook to set-up missing devices */
|
||||
|
@ -4447,7 +4447,7 @@ qemuProcessInit(virQEMUDriverPtr driver,
|
||||
* report implicit runtime defaults in the XML, like vnc listen/socket
|
||||
*/
|
||||
VIR_DEBUG("Setting current domain def as transient");
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
|
||||
goto stop;
|
||||
|
||||
if (!(flags & VIR_QEMU_PROCESS_START_PRETEND)) {
|
||||
@ -5944,7 +5944,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
* report implicit runtime defaults in the XML, like vnc listen/socket
|
||||
*/
|
||||
VIR_DEBUG("Setting current domain def as transient");
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
|
||||
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
|
||||
goto error;
|
||||
|
||||
vm->def->id = qemuDriverAllocateID(driver);
|
||||
|
@ -601,7 +601,7 @@ testDomainStartState(testDriverPtr privconn,
|
||||
|
||||
if (virDomainObjSetDefTransient(privconn->caps,
|
||||
privconn->xmlopt,
|
||||
dom, false) < 0) {
|
||||
dom) < 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1099,8 +1099,7 @@ static int umlStartVMDaemon(virConnectPtr conn,
|
||||
* report implicit runtime defaults in the XML, like vnc listen/socket
|
||||
*/
|
||||
VIR_DEBUG("Setting current domain def as transient");
|
||||
if (virDomainObjSetDefTransient(driver->caps, driver->xmlopt,
|
||||
vm, true) < 0) {
|
||||
if (virDomainObjSetDefTransient(driver->caps, driver->xmlopt, vm) < 0) {
|
||||
VIR_FORCE_CLOSE(logfd);
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user