mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +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)
|
||||
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;
|
||||
}
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
xenUnifiedLock(priv);
|
||||
@ -3026,8 +3031,13 @@ xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml,
|
||||
|
||||
if (domain->conn->flags & VIR_CONNECT_RO)
|
||||
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;
|
||||
}
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
xenUnifiedLock(priv);
|
||||
|
Loading…
x
Reference in New Issue
Block a user