mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-09-09 17:24:53 +00:00
xen: xenXMDomain*DeviceFlags should obey all flags
xenXMDomain*DeviceFlags() silently ignores requests to modify live configuration of an active guest while still touching its persistent configuration.
This commit is contained in:
parent
6ab99b8a43
commit
e2856d36a5
@ -2935,8 +2935,13 @@ xenXMDomainAttachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
|
|
||||||
if (domain->conn->flags & VIR_CONNECT_RO)
|
if (domain->conn->flags & VIR_CONNECT_RO)
|
||||||
return -1;
|
return -1;
|
||||||
if (domain->id != -1 && !(flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG))
|
|
||||||
|
if ((flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) ||
|
||||||
|
(domain->id != -1 && (flags & VIR_DOMAIN_DEVICE_MODIFY_CURRENT))) {
|
||||||
|
xenXMError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
|
_("Xm driver only supports modifying persistent config"));
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||||
xenUnifiedLock(priv);
|
xenUnifiedLock(priv);
|
||||||
@ -3026,8 +3031,13 @@ xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
|
|
||||||
if (domain->conn->flags & VIR_CONNECT_RO)
|
if (domain->conn->flags & VIR_CONNECT_RO)
|
||||||
return -1;
|
return -1;
|
||||||
if (domain->id != -1 && !(flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG))
|
|
||||||
|
if ((flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) ||
|
||||||
|
(domain->id != -1 && (flags & VIR_DOMAIN_DEVICE_MODIFY_CURRENT))) {
|
||||||
|
xenXMError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
|
_("Xm driver only supports modifying persistent config"));
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||||
xenUnifiedLock(priv);
|
xenUnifiedLock(priv);
|
||||||
|
Loading…
Reference in New Issue
Block a user