提交 f2387093 编写于 作者: J Jim Meyering

qemu_driver.c: factor out more duplication

* src/qemu_driver.c (qemudDomainRestore): Use the new ...TypeToString
function here, too.
上级 32456779
...@@ -4382,21 +4382,17 @@ static int qemudDomainRestore(virConnectPtr conn, ...@@ -4382,21 +4382,17 @@ static int qemudDomainRestore(virConnectPtr conn,
if (header.version == 2) { if (header.version == 2) {
const char *intermediate_argv[3] = { NULL, "-dc", NULL }; const char *intermediate_argv[3] = { NULL, "-dc", NULL };
if (header.compressed == QEMUD_SAVE_FORMAT_GZIP) const char *prog = qemudSaveCompressionTypeToString(header.compressed);
intermediate_argv[0] = "gzip"; if (prog == NULL) {
else if (header.compressed == QEMUD_SAVE_FORMAT_BZIP2)
intermediate_argv[0] = "bzip2";
else if (header.compressed == QEMUD_SAVE_FORMAT_XZ)
intermediate_argv[0] = "xz";
else if (header.compressed == QEMUD_SAVE_FORMAT_LZOP)
intermediate_argv[0] = "lzop";
else if (header.compressed != QEMUD_SAVE_FORMAT_RAW) {
qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
_("Unknown compressed save format %d"), _("Invalid compressed save format %d"),
header.compressed); header.compressed);
goto cleanup; goto cleanup;
} }
if (intermediate_argv[0] != NULL) {
if (header.compressed != QEMUD_SAVE_FORMAT_RAW)
intermediate_argv[0] = prog;
else {
intermediatefd = fd; intermediatefd = fd;
fd = -1; fd = -1;
if (virExec(conn, intermediate_argv, NULL, NULL, if (virExec(conn, intermediate_argv, NULL, NULL,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册