[libvirt] [PATCH] qemu: check if domain is really active when do setvcpus with --live

https://bugzilla.redhat.com/show_bug.cgi?id=1204006 Commit e105dc9 fix setting vcpus for offline domain, but forget check if vm is active when pass VIR_DOMAIN_AFFECT_LIVE flags. # virsh setvcpus test3 4 --live error: Failed to create controller cpu for group: No such file or directory add a check if we pass VIR_DOMAIN_AFFECT_LIVE flags. Signed-off-by: Luyao Huang <lhuang@redhat.com> --- src/qemu/qemu_driver.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 6d9217b..40d2776 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4888,6 +4888,12 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus, goto cleanup; if (flags & VIR_DOMAIN_AFFECT_LIVE && !(flags & VIR_DOMAIN_VCPU_GUEST)) { + if (!virDomainObjIsActive(vm)) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("domain is not running")); + goto endjob; + } + if (virCgroupNewEmulator(priv->cgroup, false, &cgroup_temp) < 0) goto endjob; -- 1.8.3.1

On Fri, Mar 20, 2015 at 03:07:09PM +0800, Luyao Huang wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1204006
Commit e105dc9 fix setting vcpus for offline domain, but forget check if vm is active when pass VIR_DOMAIN_AFFECT_LIVE flags.
# virsh setvcpus test3 4 --live error: Failed to create controller cpu for group: No such file or directory
add a check if we pass VIR_DOMAIN_AFFECT_LIVE flags.
Signed-off-by: Luyao Huang <lhuang@redhat.com> --- src/qemu/qemu_driver.c | 6 ++++++ 1 file changed, 6 insertions(+)
I've updated the patch to error out for every case we are trying to update live domain either by using VIR_DOMAIN_AFFECT_LIVE or VIR_DOMAIN_AFFECT_CURRENT. See <https://www.redhat.com/archives/libvir-list/2015-March/msg01072.html>. Pavel

On 03/20/2015 10:52 PM, Pavel Hrdina wrote:
On Fri, Mar 20, 2015 at 03:07:09PM +0800, Luyao Huang wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1204006
Commit e105dc9 fix setting vcpus for offline domain, but forget check if vm is active when pass VIR_DOMAIN_AFFECT_LIVE flags.
# virsh setvcpus test3 4 --live error: Failed to create controller cpu for group: No such file or directory
add a check if we pass VIR_DOMAIN_AFFECT_LIVE flags.
Signed-off-by: Luyao Huang <lhuang@redhat.com> --- src/qemu/qemu_driver.c | 6 ++++++ 1 file changed, 6 insertions(+)
I've updated the patch to error out for every case we are trying to update live domain either by using VIR_DOMAIN_AFFECT_LIVE or VIR_DOMAIN_AFFECT_CURRENT.
See <https://www.redhat.com/archives/libvir-list/2015-March/msg01072.html>.
Good, thanks for your help and review.
Pavel
Luyao
participants (3)
-
lhuang
-
Luyao Huang
-
Pavel Hrdina