qemu: use g_autofree instead of VIR_FREE in qemuMonitorTextCreateSnapshot()
While at bugfixing, convert the whole function to the new-style memory allocation handling. Reviewed-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Pavel Mores <pmores@redhat.com>
This commit is contained in:
parent
b87cca75c3
commit
b036505279
@ -132,14 +132,13 @@ int
|
|||||||
qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon,
|
qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon,
|
||||||
const char *name)
|
const char *name)
|
||||||
{
|
{
|
||||||
char *cmd = NULL;
|
g_autofree char *cmd = NULL;
|
||||||
char *reply = NULL;
|
g_autofree char *reply = NULL;
|
||||||
int ret = -1;
|
|
||||||
|
|
||||||
cmd = g_strdup_printf("savevm \"%s\"", name);
|
cmd = g_strdup_printf("savevm \"%s\"", name);
|
||||||
|
|
||||||
if (qemuMonitorJSONHumanCommand(mon, cmd, &reply))
|
if (qemuMonitorJSONHumanCommand(mon, cmd, &reply))
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
if (strstr(reply, "Error while creating snapshot") ||
|
if (strstr(reply, "Error while creating snapshot") ||
|
||||||
strstr(reply, "Could not open VM state file") ||
|
strstr(reply, "Could not open VM state file") ||
|
||||||
@ -148,19 +147,14 @@ qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon,
|
|||||||
(strstr(reply, "Error") && strstr(reply, "while writing VM"))) {
|
(strstr(reply, "Error") && strstr(reply, "while writing VM"))) {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
_("Failed to take snapshot: %s"), reply);
|
_("Failed to take snapshot: %s"), reply);
|
||||||
goto cleanup;
|
return -1;
|
||||||
} else if (strstr(reply, "No block device can accept snapshots")) {
|
} else if (strstr(reply, "No block device can accept snapshots")) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("this domain does not have a device to take snapshots"));
|
_("this domain does not have a device to take snapshots"));
|
||||||
goto cleanup;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
|
||||||
VIR_FREE(cmd);
|
|
||||||
VIR_FREE(reply);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemuMonitorTextLoadSnapshot(qemuMonitorPtr mon, const char *name)
|
int qemuMonitorTextLoadSnapshot(qemuMonitorPtr mon, const char *name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user