mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
qemuDomainGetStatsIOThread: Don't error out if fetching iothread info fails
The bulk domain stats API is meant to collect as much data as possible without erroring out. Ignore errors from 'qemuDomainGetIOThreadsMon()' and skip the data if an error happens. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
f05f54d8fb
commit
a761c44b90
@ -17531,22 +17531,21 @@ qemuDomainGetStatsIOThread(virQEMUDriver *driver G_GNUC_UNUSED,
|
||||
unsigned int privflags)
|
||||
{
|
||||
size_t i;
|
||||
qemuMonitorIOThreadInfo **iothreads = NULL;
|
||||
g_autofree qemuMonitorIOThreadInfo **iothreads = NULL;
|
||||
int niothreads = 0;
|
||||
int ret = -1;
|
||||
|
||||
if (!HAVE_JOB(privflags) || !virDomainObjIsActive(dom))
|
||||
return 0;
|
||||
|
||||
if (qemuDomainGetIOThreadsMon(dom, &iothreads, &niothreads) < 0)
|
||||
return -1;
|
||||
if (qemuDomainGetIOThreadsMon(dom, &iothreads, &niothreads) < 0) {
|
||||
virResetLastError();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* qemuDomainGetIOThreadsMon returns a NULL-terminated list, so we must free
|
||||
* it even if it returns 0 */
|
||||
if (niothreads == 0) {
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
if (niothreads == 0)
|
||||
return 0;
|
||||
|
||||
virTypedParamListAddUInt(params, niothreads, "iothread.count");
|
||||
|
||||
@ -17564,14 +17563,10 @@ qemuDomainGetStatsIOThread(virQEMUDriver *driver G_GNUC_UNUSED,
|
||||
}
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
for (i = 0; i < niothreads; i++)
|
||||
VIR_FREE(iothreads[i]);
|
||||
VIR_FREE(iothreads);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user