On Thu, Sep 25, 2014 at 11:07:08 +0200, Jiri Denemark wrote:
On Wed, Sep 24, 2014 at 10:24:03 +0200, Pavel Hrdina wrote:
> With the blkdeviotune event this patch also fixes a bug that the updated
> live values weren't saved to the live XML so they won't survive
> restarting the libvirtd.
Hmm, could you fix the bug in a separate patch (just in case it needs to
be backported somewhere)?
> Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> ---
> include/libvirt/libvirt.h.in | 56 ++++++++++++++++++++++++++++++++++++++++++++
> src/qemu/qemu_driver.c | 54 ++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 110 insertions(+)
>
...
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index d1a0657..173333a 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
...
> @@ -16405,6 +16443,20 @@ qemuDomainSetBlockIoTune(virDomainPtr dom,
> if (ret < 0)
> goto endjob;
> vm->def->disks[idx]->blkdeviotune = info;
> +
> + ret = virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm);
> + if (ret < 0) {
> + virReportError(VIR_ERR_OPERATION_FAILED, "%s",
> + _("Saving live XML config failed"));
> + goto endjob;
> + }
> +
> + if (eventNparams) {
> + event = virDomainEventTunableNewFromDom(dom, eventParams,
eventNparams);
> + eventNparams = 0;
> + if (event)
> + qemuDomainEventQueue(driver, event);
eventNparams = 0 should only be done if event != NULL
And I'm blind, virDomainEventTunableNewFromDom is explicitly written to
free parameters even in case of failure. So no change needed here :-)
Jirka