mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-24 05:25:18 +00:00
openvz: refactor openvzLoadDomains
Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
73a716eecd
commit
680d8c91e8
@ -440,10 +440,10 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
virDomainObj *dom = NULL;
|
virDomainObj *dom = NULL;
|
||||||
g_autoptr(virDomainDef) def = NULL;
|
g_autoptr(virDomainDef) def = NULL;
|
||||||
char *temp = NULL;
|
g_autofree char *temp = NULL;
|
||||||
char *outbuf = NULL;
|
g_autofree char *outbuf = NULL;
|
||||||
char *line;
|
char *line;
|
||||||
virCommand *cmd = NULL;
|
g_autoptr(virCommand) cmd = NULL;
|
||||||
unsigned int vcpus = 0;
|
unsigned int vcpus = 0;
|
||||||
|
|
||||||
if (openvzAssignUUIDs() < 0)
|
if (openvzAssignUUIDs() < 0)
|
||||||
@ -452,7 +452,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
cmd = virCommandNewArgList(VZLIST, "-a", "-ovpsid,status", "-H", NULL);
|
cmd = virCommandNewArgList(VZLIST, "-a", "-ovpsid,status", "-H", NULL);
|
||||||
virCommandSetOutputBuffer(cmd, &outbuf);
|
virCommandSetOutputBuffer(cmd, &outbuf);
|
||||||
if (virCommandRun(cmd, NULL) < 0)
|
if (virCommandRun(cmd, NULL) < 0)
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
line = outbuf;
|
line = outbuf;
|
||||||
while (line[0] != '\0') {
|
while (line[0] != '\0') {
|
||||||
@ -462,12 +462,12 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
(line = strchr(status, '\n')) == NULL) {
|
(line = strchr(status, '\n')) == NULL) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Failed to parse vzlist output"));
|
_("Failed to parse vzlist output"));
|
||||||
goto cleanup;
|
return -1;
|
||||||
}
|
}
|
||||||
*line++ = '\0';
|
*line++ = '\0';
|
||||||
|
|
||||||
if (!(def = virDomainDefNew(driver->xmlopt)))
|
if (!(def = virDomainDefNew(driver->xmlopt)))
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
def->virtType = VIR_DOMAIN_VIRT_OPENVZ;
|
def->virtType = VIR_DOMAIN_VIRT_OPENVZ;
|
||||||
|
|
||||||
@ -483,7 +483,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
if (ret == -1) {
|
if (ret == -1) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("UUID in config file malformed"));
|
_("UUID in config file malformed"));
|
||||||
goto cleanup;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
def->os.type = VIR_DOMAIN_OSTYPE_EXE;
|
def->os.type = VIR_DOMAIN_OSTYPE_EXE;
|
||||||
@ -494,7 +494,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not read config for container %d"),
|
_("Could not read config for container %d"),
|
||||||
veid);
|
veid);
|
||||||
goto cleanup;
|
return -1;
|
||||||
} else if (ret > 0) {
|
} else if (ret > 0) {
|
||||||
vcpus = strtoI(temp);
|
vcpus = strtoI(temp);
|
||||||
}
|
}
|
||||||
@ -503,10 +503,10 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
vcpus = virHostCPUGetCount();
|
vcpus = virHostCPUGetCount();
|
||||||
|
|
||||||
if (virDomainDefSetVcpusMax(def, vcpus, driver->xmlopt) < 0)
|
if (virDomainDefSetVcpusMax(def, vcpus, driver->xmlopt) < 0)
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
if (virDomainDefSetVcpus(def, vcpus) < 0)
|
if (virDomainDefSetVcpus(def, vcpus) < 0)
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
/* XXX load rest of VM config data .... */
|
/* XXX load rest of VM config data .... */
|
||||||
|
|
||||||
@ -524,7 +524,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
flags,
|
flags,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
if (STREQ(status, "stopped")) {
|
if (STREQ(status, "stopped")) {
|
||||||
virDomainObjSetState(dom, VIR_DOMAIN_SHUTOFF,
|
virDomainObjSetState(dom, VIR_DOMAIN_SHUTOFF,
|
||||||
@ -542,17 +542,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
|
|||||||
dom = NULL;
|
dom = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
virCommandFree(cmd);
|
|
||||||
VIR_FREE(temp);
|
|
||||||
VIR_FREE(outbuf);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
|
||||||
virCommandFree(cmd);
|
|
||||||
VIR_FREE(temp);
|
|
||||||
VIR_FREE(outbuf);
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user