If we received zero iothreads from the monitor, but were perhaps
expecting to receive something, then the code was skipping the check
to ensure what's in the monitor matches our expectations. So invert
the checks to check that what we get back matches expectations and
then check there are zero iothreads returned.
if (niothreads < 0)
goto cleanup;
- /* Nothing to do */
- if (niothreads == 0) {
- ret = 0;
- goto cleanup;
- }
-
if (niothreads != vm->def->iothreads) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("got wrong number of IOThread pids from QEMU monitor. "
goto cleanup;
}
+ /* Nothing to do */
+ if (niothreads == 0) {
+ ret = 0;
+ goto cleanup;
+ }
+
for (i = 0; i < niothreads; i++) {
virDomainIOThreadIDDefPtr iothrid;