mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 01:43:23 +00:00
qemu: Don't duplicate errors when settings stats period
In order not to leave old error messages set, this patch refactors the code so the error is reported only when acted upon. The only such place already rewrites any error, so cleaning up all the error reporting in qemuMonitorSetMemoryStatsPeriod() is enough. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
02ce97bca6
commit
4fca30e0bd
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* qemu_monitor.c: interaction with QEMU monitor console
|
||||
*
|
||||
* Copyright (C) 2006-2014 Red Hat, Inc.
|
||||
* Copyright (C) 2006-2015 Red Hat, Inc.
|
||||
* Copyright (C) 2006 Daniel P. Berrange
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@ -1709,27 +1709,40 @@ int qemuMonitorGetMemoryStats(qemuMonitorPtr mon,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* qemuMonitorSetMemoryStatsPeriod:
|
||||
*
|
||||
* This function sets balloon stats update period.
|
||||
*
|
||||
* Returns 0 on success and -1 on error, but does *not* set an error.
|
||||
*/
|
||||
int qemuMonitorSetMemoryStatsPeriod(qemuMonitorPtr mon,
|
||||
int period)
|
||||
{
|
||||
int ret = -1;
|
||||
VIR_DEBUG("mon=%p period=%d", mon, period);
|
||||
|
||||
if (!mon) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||
_("monitor must not be NULL"));
|
||||
if (!mon)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!mon->json) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("JSON monitor is required"));
|
||||
if (!mon->json)
|
||||
return -1;
|
||||
|
||||
if (period < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qemuMonitorFindBalloonObjectPath(mon, "/") == 0) {
|
||||
ret = qemuMonitorJSONSetMemoryStatsPeriod(mon, mon->balloonpath,
|
||||
period);
|
||||
|
||||
/*
|
||||
* Most of the calls to this function are supposed to be
|
||||
* non-fatal and the only one that should be fatal wants its
|
||||
* own error message. More details for debugging will be in
|
||||
* the log file.
|
||||
*/
|
||||
if (ret < 0)
|
||||
virResetLastError();
|
||||
}
|
||||
mon->ballooninit = true;
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user