From: Daniel P. Berrange Date: Thu, 22 Apr 2010 15:47:33 +0000 (+0100) Subject: Fix QEMU text monitor command error checking X-Git-Tag: v0.8.1~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9772bebab7f12e5b68a44fe007b28acaf9ddb321;p=thirdparty%2Flibvirt.git Fix QEMU text monitor command error checking The text monitor code was checking for a '\n' prefix on several places. Previously this would work, but since the monitor code re-write the '\n' is already stripped off, so mustn't be checked for. * src/qemu/qemu_monitor_text.c: Fix monitor error checking --- diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index db3806db68..4c8c1083a4 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -787,7 +787,7 @@ int qemuMonitorTextSetBalloon(qemuMonitorPtr mon, /* If the command failed qemu prints: 'unknown command' * No message is printed on success it seems */ - if (strstr(reply, "\nunknown command:")) { + if (strstr(reply, "unknown command:")) { /* Don't set error - it is expected memory balloon fails on many qemu */ ret = 0; } else { @@ -816,7 +816,7 @@ int qemuMonitorTextSetCPU(qemuMonitorPtr mon, int cpu, int online) if (qemuMonitorCommand(mon, cmd, &reply) < 0) { qemuReportError(VIR_ERR_OPERATION_FAILED, - "%s", _("could nt change CPU online status")); + "%s", _("could not change CPU online status")); VIR_FREE(cmd); return -1; } @@ -824,7 +824,7 @@ int qemuMonitorTextSetCPU(qemuMonitorPtr mon, int cpu, int online) /* If the command failed qemu prints: 'unknown command' * No message is printed on success it seems */ - if (strstr(reply, "\nunknown command:")) { + if (strstr(reply, "unknown command:")) { /* Don't set error - it is expected CPU onlining fails on many qemu - caller will handle */ ret = 0; } else { @@ -857,7 +857,7 @@ int qemuMonitorTextEjectMedia(qemuMonitorPtr mon, /* If the command failed qemu prints: * device not found, device is locked ... * No message is printed on success it seems */ - if (strstr(reply, "\ndevice ")) { + if (strstr(reply, "device ")) { qemuReportError(VIR_ERR_OPERATION_FAILED, _("could not eject media on %s: %s"), devname, reply); goto cleanup; @@ -901,14 +901,14 @@ int qemuMonitorTextChangeMedia(qemuMonitorPtr mon, /* If the command failed qemu prints: * device not found, device is locked ... * No message is printed on success it seems */ - if (strstr(reply, "\ndevice ")) { + if (strstr(reply, "device ")) { qemuReportError(VIR_ERR_OPERATION_FAILED, _("could not eject media on %s: %s"), devname, reply); goto cleanup; } /* Could not open message indicates bad filename */ - if (strstr(reply, "\nCould not open ")) { + if (strstr(reply, "Could not open ")) { qemuReportError(VIR_ERR_OPERATION_FAILED, _("could not change media on %s: %s"), devname, reply); goto cleanup; @@ -2291,7 +2291,7 @@ int qemuMonitorTextSetDrivePassphrase(qemuMonitorPtr mon, goto cleanup; } - if (strstr(reply, "\nunknown command:")) { + if (strstr(reply, "unknown command:")) { qemuReportError(VIR_ERR_OPERATION_FAILED, "%s", _("setting disk password is not supported")); goto cleanup;