prevent attempt to call cat -c during virDomainSave to raw

This was prevent virDomainSave from working properly by default,
which is a bad thing.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
This commit is contained in:
Charles Duffy 2009-09-22 08:56:39 +02:00 committed by Chris Lalancette
parent 58df0daa7f
commit faa8bf1079

View File

@ -3906,17 +3906,26 @@ static int qemudDomainSave(virDomainPtr dom,
goto cleanup; goto cleanup;
} }
const char *prog = qemudSaveCompressionTypeToString(header.compressed); {
if (prog == NULL) { const char *prog = qemudSaveCompressionTypeToString(header.compressed);
qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR, const char *args;
_("Invalid compress format %d"), header.compressed);
goto cleanup;
}
if (STREQ (prog, "raw")) if (prog == NULL) {
prog = "cat"; qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
internalret = virAsprintf(&command, "migrate \"exec:" _("Invalid compress format %d"), header.compressed);
"%s -c >> '%s' 2>/dev/null\"", prog, safe_path); goto cleanup;
}
if (STREQ (prog, "raw")) {
prog = "cat";
args = "";
} else {
args = "-c";
}
internalret = virAsprintf(&command, "migrate \"exec:"
"%s %s >> '%s' 2>/dev/null\"", prog, args,
safe_path);
}
if (internalret < 0) { if (internalret < 0) {
virReportOOMError(dom->conn); virReportOOMError(dom->conn);