mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-05 12:35:20 +00:00
setmem: introduce VIR_DOMAIN_MEM_CURRENT flag
This patch introduces VIR_DOMAIN_MEM_CURRENT flag and modifies virDomainSetMemoryFlags function to support it. Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
This commit is contained in:
parent
f7e9b44812
commit
0f2e50be5f
@ -854,8 +854,9 @@ int virDomainGetMemoryParameters(virDomainPtr domain,
|
|||||||
|
|
||||||
/* Memory size modification flags. */
|
/* Memory size modification flags. */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
VIR_DOMAIN_MEM_LIVE = (1 << 0), /* affect active domain */
|
VIR_DOMAIN_MEM_CURRENT = 0, /* affect current domain state */
|
||||||
VIR_DOMAIN_MEM_CONFIG = (1 << 1), /* affect next boot */
|
VIR_DOMAIN_MEM_LIVE = (1 << 0), /* affect active domain */
|
||||||
|
VIR_DOMAIN_MEM_CONFIG = (1 << 1), /* affect next boot */
|
||||||
} virDomainMemoryModFlags;
|
} virDomainMemoryModFlags;
|
||||||
|
|
||||||
|
|
||||||
|
@ -2822,12 +2822,17 @@ error:
|
|||||||
* Dynamically change the target amount of physical memory allocated to a
|
* Dynamically change the target amount of physical memory allocated to a
|
||||||
* domain. If domain is NULL, then this change the amount of memory reserved
|
* domain. If domain is NULL, then this change the amount of memory reserved
|
||||||
* to Domain0 i.e. the domain where the application runs.
|
* to Domain0 i.e. the domain where the application runs.
|
||||||
* This funcation may requires privileged access to the hypervisor.
|
* This function may requires privileged access to the hypervisor.
|
||||||
*
|
*
|
||||||
* @flags must include VIR_DOMAIN_MEM_LIVE to affect a running
|
* @flags may include VIR_DOMAIN_MEM_LIVE or VIR_DOMAIN_MEM_CONFIG.
|
||||||
* domain (which may fail if domain is not active), or
|
* Both flags may be set. If VIR_DOMAIN_MEM_LIVE is set, the change affects
|
||||||
* VIR_DOMAIN_MEM_CONFIG to affect the next boot via the XML
|
* a running domain and will fail if domain is not active.
|
||||||
* description of the domain. Both flags may be set.
|
* If VIR_DOMAIN_MEM_CONFIG is set, the change affects persistent state,
|
||||||
|
* and will fail for transient domains. If neither flag is specified
|
||||||
|
* (that is, @flags is VIR_DOMAIN_MEM_CURRENT), then an inactive domain
|
||||||
|
* modifies persistent setup, while an active domain is hypervisor-dependent
|
||||||
|
* on whether just live or both live and persistent state is changed.
|
||||||
|
* Not all hypervisors can support all flag combinations.
|
||||||
*
|
*
|
||||||
* Returns 0 in case of success, -1 in case of failure.
|
* Returns 0 in case of success, -1 in case of failure.
|
||||||
*/
|
*/
|
||||||
@ -2853,8 +2858,7 @@ virDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (memory < 4096 ||
|
if (memory < 4096) {
|
||||||
(flags & (VIR_DOMAIN_MEM_LIVE | VIR_DOMAIN_MEM_CONFIG)) == 0) {
|
|
||||||
virLibDomainError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
virLibDomainError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user