mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
Adapt to VIR_ALLOC and virAsprintf in src/uml/*
This commit is contained in:
parent
0e88cf2aa7
commit
ae6ce5bf00
@ -285,32 +285,24 @@ umlBuildCommandLineChr(virDomainChrDefPtr def,
|
|||||||
|
|
||||||
switch (def->source.type) {
|
switch (def->source.type) {
|
||||||
case VIR_DOMAIN_CHR_TYPE_NULL:
|
case VIR_DOMAIN_CHR_TYPE_NULL:
|
||||||
if (virAsprintf(&ret, "%s%d=null", dev, def->target.port) < 0) {
|
if (virAsprintf(&ret, "%s%d=null", dev, def->target.port) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_PTY:
|
case VIR_DOMAIN_CHR_TYPE_PTY:
|
||||||
if (virAsprintf(&ret, "%s%d=pts", dev, def->target.port) < 0) {
|
if (virAsprintf(&ret, "%s%d=pts", dev, def->target.port) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_DEV:
|
case VIR_DOMAIN_CHR_TYPE_DEV:
|
||||||
if (virAsprintf(&ret, "%s%d=tty:%s", dev, def->target.port,
|
if (virAsprintf(&ret, "%s%d=tty:%s", dev, def->target.port,
|
||||||
def->source.data.file.path) < 0) {
|
def->source.data.file.path) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_STDIO:
|
case VIR_DOMAIN_CHR_TYPE_STDIO:
|
||||||
if (virAsprintf(&ret, "%s%d=fd:0,fd:1", dev, def->target.port) < 0) {
|
if (virAsprintf(&ret, "%s%d=fd:0,fd:1", dev, def->target.port) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_TCP:
|
case VIR_DOMAIN_CHR_TYPE_TCP:
|
||||||
@ -321,10 +313,8 @@ umlBuildCommandLineChr(virDomainChrDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virAsprintf(&ret, "%s%d=port:%s", dev, def->target.port,
|
if (virAsprintf(&ret, "%s%d=port:%s", dev, def->target.port,
|
||||||
def->source.data.tcp.service) < 0) {
|
def->source.data.tcp.service) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_FILE:
|
case VIR_DOMAIN_CHR_TYPE_FILE:
|
||||||
@ -339,7 +329,6 @@ umlBuildCommandLineChr(virDomainChrDefPtr def,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (virAsprintf(&ret, "%s%d=null,fd:%d", dev, def->target.port, fd_out) < 0) {
|
if (virAsprintf(&ret, "%s%d=null,fd:%d", dev, def->target.port, fd_out) < 0) {
|
||||||
virReportOOMError();
|
|
||||||
VIR_FORCE_CLOSE(fd_out);
|
VIR_FORCE_CLOSE(fd_out);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -440,7 +429,7 @@ virCommandPtr umlBuildCommandLine(virConnectPtr conn,
|
|||||||
ret = umlBuildCommandLineChr(chr, "con", cmd);
|
ret = umlBuildCommandLineChr(chr, "con", cmd);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
if (virAsprintf(&ret, "con%d=none", i) < 0)
|
if (virAsprintf(&ret, "con%d=none", i) < 0)
|
||||||
goto no_memory;
|
goto error;
|
||||||
virCommandAddArg(cmd, ret);
|
virCommandAddArg(cmd, ret);
|
||||||
VIR_FREE(ret);
|
VIR_FREE(ret);
|
||||||
}
|
}
|
||||||
@ -455,7 +444,7 @@ virCommandPtr umlBuildCommandLine(virConnectPtr conn,
|
|||||||
ret = umlBuildCommandLineChr(chr, "ssl", cmd);
|
ret = umlBuildCommandLineChr(chr, "ssl", cmd);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
if (virAsprintf(&ret, "ssl%d=none", i) < 0)
|
if (virAsprintf(&ret, "ssl%d=none", i) < 0)
|
||||||
goto no_memory;
|
goto error;
|
||||||
|
|
||||||
virCommandAddArg(cmd, ret);
|
virCommandAddArg(cmd, ret);
|
||||||
VIR_FREE(ret);
|
VIR_FREE(ret);
|
||||||
@ -481,10 +470,7 @@ virCommandPtr umlBuildCommandLine(virConnectPtr conn,
|
|||||||
|
|
||||||
return cmd;
|
return cmd;
|
||||||
|
|
||||||
no_memory:
|
|
||||||
virReportOOMError();
|
|
||||||
error:
|
error:
|
||||||
|
|
||||||
virCommandFree(cmd);
|
virCommandFree(cmd);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -239,10 +239,8 @@ umlIdentifyOneChrPTY(struct uml_driver *driver,
|
|||||||
char *cmd;
|
char *cmd;
|
||||||
char *res = NULL;
|
char *res = NULL;
|
||||||
int retries = 0;
|
int retries = 0;
|
||||||
if (virAsprintf(&cmd, "config %s%d", dev, def->target.port) < 0) {
|
if (virAsprintf(&cmd, "config %s%d", dev, def->target.port) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
requery:
|
requery:
|
||||||
if (umlMonitorCommand(driver, dom, cmd, &res) < 0)
|
if (umlMonitorCommand(driver, dom, cmd, &res) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -793,10 +791,8 @@ static int umlReadPidFile(struct uml_driver *driver,
|
|||||||
|
|
||||||
vm->pid = -1;
|
vm->pid = -1;
|
||||||
if (virAsprintf(&pidfile, "%s/%s/pid",
|
if (virAsprintf(&pidfile, "%s/%s/pid",
|
||||||
driver->monitorDir, vm->def->name) < 0) {
|
driver->monitorDir, vm->def->name) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
reopen:
|
reopen:
|
||||||
if (!(file = fopen(pidfile, "r"))) {
|
if (!(file = fopen(pidfile, "r"))) {
|
||||||
@ -835,10 +831,8 @@ static int umlMonitorAddress(const struct uml_driver *driver,
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
|
|
||||||
if (virAsprintf(&sockname, "%s/%s/mconsole",
|
if (virAsprintf(&sockname, "%s/%s/mconsole",
|
||||||
driver->monitorDir, vm->def->name) < 0) {
|
driver->monitorDir, vm->def->name) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
memset(addr, 0, sizeof(*addr));
|
memset(addr, 0, sizeof(*addr));
|
||||||
addr->sun_family = AF_UNIX;
|
addr->sun_family = AF_UNIX;
|
||||||
@ -974,10 +968,8 @@ static int umlMonitorCommand(const struct uml_driver *driver,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VIR_REALLOC_N(retdata, retlen + res.length) < 0) {
|
if (VIR_REALLOC_N(retdata, retlen + res.length) < 0)
|
||||||
virReportOOMError();
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
|
||||||
memcpy(retdata + retlen, res.data, res.length);
|
memcpy(retdata + retlen, res.data, res.length);
|
||||||
retlen += res.length - 1;
|
retlen += res.length - 1;
|
||||||
retdata[retlen] = '\0';
|
retdata[retlen] = '\0';
|
||||||
@ -1057,10 +1049,8 @@ static int umlStartVMDaemon(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virAsprintf(&logfile, "%s/%s.log",
|
if (virAsprintf(&logfile, "%s/%s.log",
|
||||||
driver->logDir, vm->def->name) < 0) {
|
driver->logDir, vm->def->name) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if ((logfd = open(logfile, O_CREAT | O_TRUNC | O_WRONLY,
|
if ((logfd = open(logfile, O_CREAT | O_TRUNC | O_WRONLY,
|
||||||
S_IRUSR | S_IWUSR)) < 0) {
|
S_IRUSR | S_IWUSR)) < 0) {
|
||||||
@ -1095,10 +1085,8 @@ static int umlStartVMDaemon(virConnectPtr conn,
|
|||||||
|
|
||||||
for (i = 0; i < vm->def->nconsoles; i++) {
|
for (i = 0; i < vm->def->nconsoles; i++) {
|
||||||
VIR_FREE(vm->def->consoles[i]->info.alias);
|
VIR_FREE(vm->def->consoles[i]->info.alias);
|
||||||
if (virAsprintf(&vm->def->consoles[i]->info.alias, "console%zu", i) < 0) {
|
if (virAsprintf(&vm->def->consoles[i]->info.alias, "console%zu", i) < 0)
|
||||||
virReportOOMError();
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virCommandWriteArgLog(cmd, logfd);
|
virCommandWriteArgLog(cmd, logfd);
|
||||||
@ -2145,18 +2133,14 @@ static int umlDomainAttachUmlDisk(struct uml_driver *driver,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virAsprintf(&cmd, "config %s=%s", disk->dst, disk->src) < 0) {
|
if (virAsprintf(&cmd, "config %s=%s", disk->dst, disk->src) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
|
if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0) {
|
if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0)
|
||||||
virReportOOMError();
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
|
||||||
|
|
||||||
virDomainDiskInsertPreAlloced(vm->def, disk);
|
virDomainDiskInsertPreAlloced(vm->def, disk);
|
||||||
|
|
||||||
@ -2274,10 +2258,8 @@ static int umlDomainDetachUmlDisk(struct uml_driver *driver,
|
|||||||
|
|
||||||
detach = vm->def->disks[i];
|
detach = vm->def->disks[i];
|
||||||
|
|
||||||
if (virAsprintf(&cmd, "remove %s", detach->dst) < 0) {
|
if (virAsprintf(&cmd, "remove %s", detach->dst) < 0)
|
||||||
virReportOOMError();
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
|
if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user