1
0
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:
Michal Privoznik 2013-07-04 12:17:01 +02:00
parent 0e88cf2aa7
commit ae6ce5bf00
2 changed files with 16 additions and 48 deletions

View File

@ -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;
} }

View File

@ -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;