mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
setmem: add the new options to "virsh setmem" command
This patch adds the new options (--live and --config) to "virsh setmem" command. The behavior of above options is the same as that of "virsh setvcpus" and so on. That is, when the --config option is specified, a modification is effective for the persistent domain. Moreover we can modify the memory size of inactive domains as well as that of active domains. Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
This commit is contained in:
parent
55141abf9d
commit
2d70a46911
@ -2904,6 +2904,8 @@ static const vshCmdInfo info_setmem[] = {
|
||||
static const vshCmdOptDef opts_setmem[] = {
|
||||
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
|
||||
{"kilobytes", VSH_OT_INT, VSH_OFLAG_REQ, N_("number of kilobytes of memory")},
|
||||
{"config", VSH_OT_BOOL, 0, N_("affect next boot")},
|
||||
{"live", VSH_OT_BOOL, 0, N_("affect running domain")},
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@ -2914,6 +2916,17 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd)
|
||||
virDomainInfo info;
|
||||
unsigned long kilobytes = 0;
|
||||
int ret = TRUE;
|
||||
int config = vshCommandOptBool(cmd, "config");
|
||||
int live = vshCommandOptBool(cmd, "live");
|
||||
int flags = 0;
|
||||
|
||||
/* Need to use flags if config was specified, but prefer older api
|
||||
* for live-only behavior otherwise */
|
||||
if (config) {
|
||||
flags = VIR_DOMAIN_MEM_CONFIG;
|
||||
if (live)
|
||||
flags |= VIR_DOMAIN_MEM_LIVE;
|
||||
}
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn))
|
||||
return FALSE;
|
||||
@ -2945,9 +2958,15 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!flags) {
|
||||
if (virDomainSetMemory(dom, kilobytes) != 0) {
|
||||
ret = FALSE;
|
||||
}
|
||||
} else {
|
||||
if (virDomainSetMemoryFlags(dom, kilobytes, flags) < 0) {
|
||||
ret = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
virDomainFree(dom);
|
||||
return ret;
|
||||
|
@ -578,9 +578,12 @@ Therefore, -1 is a useful shorthand for 262144.
|
||||
B<Note>: The weight and cap parameters are defined only for the
|
||||
XEN_CREDIT scheduler and are now I<DEPRECATED>.
|
||||
|
||||
=item B<setmem> I<domain-id> B<kilobytes>
|
||||
=item B<setmem> I<domain-id> B<kilobytes> optional I<--config> I<--live>
|
||||
|
||||
Immediately change the current memory allocation for an active guest domain.
|
||||
Change the memory allocation for a guest domain.
|
||||
If I<--live> is specified, perform a memory balloon of a running guest.
|
||||
If I<--config> is specified, affect the next boot of a persistent guest.
|
||||
Both flags may be given. If neither flag is given, I<--live> is assumed.
|
||||
|
||||
Some hypervisors require a larger granularity than kilobytes, and requests
|
||||
that are not an even multiple will be rounded up. For example, vSphere/ESX
|
||||
@ -590,10 +593,6 @@ rounds the parameter up unless the kB argument is evenly divisible by 1024
|
||||
For Xen, you can only adjust the memory of a running domain if the domain is
|
||||
paravirtualized or running the PV balloon driver.
|
||||
|
||||
Note, this command only works on active guest domains. To change the memory
|
||||
allocation for an inactive guest domain, use the virsh B<edit> command to
|
||||
update the XML <currentMemory> element.
|
||||
|
||||
=item B<setmaxmem> I<domain-id> B<kilobytes>
|
||||
|
||||
Change the maximum memory allocation limit for an inactive guest domain.
|
||||
|
Loading…
x
Reference in New Issue
Block a user