unsigned long long qemuCmdFlags,
const char ***retargv,
const char ***retenv,
- int **tapfds,
- int *ntapfds,
+ int **vmfds,
+ int *nvmfds,
const char *migrateFrom,
virDomainSnapshotObjPtr current_snapshot)
{
if (tapfd < 0)
goto error;
- if (VIR_REALLOC_N(*tapfds, (*ntapfds)+1) < 0) {
+ if (VIR_REALLOC_N(*vmfds, (*nvmfds)+1) < 0) {
virNWFilterTearNWFilter(net);
close(tapfd);
goto no_memory;
last_good_net = i;
- (*tapfds)[(*ntapfds)++] = tapfd;
+ (*vmfds)[(*nvmfds)++] = tapfd;
if (snprintf(tapfd_name, sizeof(tapfd_name), "%d", tapfd) >= sizeof(tapfd_name))
goto no_memory;
if (tapfd < 0)
goto error;
- if (VIR_REALLOC_N(*tapfds, (*ntapfds)+1) < 0) {
+ if (VIR_REALLOC_N(*vmfds, (*nvmfds)+1) < 0) {
virNWFilterTearNWFilter(net);
close(tapfd);
goto no_memory;
last_good_net = i;
- (*tapfds)[(*ntapfds)++] = tapfd;
+ (*vmfds)[(*nvmfds)++] = tapfd;
if (snprintf(tapfd_name, sizeof(tapfd_name), "%d", tapfd) >= sizeof(tapfd_name))
goto no_memory;
network device */
int vhostfd = qemudOpenVhostNet(net, qemuCmdFlags);
if (vhostfd >= 0) {
- if (VIR_REALLOC_N(*tapfds, (*ntapfds)+1) < 0) {
+ if (VIR_REALLOC_N(*vmfds, (*nvmfds)+1) < 0) {
close(vhostfd);
goto no_memory;
}
- (*tapfds)[(*ntapfds)++] = vhostfd;
+ (*vmfds)[(*nvmfds)++] = vhostfd;
if (snprintf(vhostfd_name, sizeof(vhostfd_name), "%d", vhostfd)
>= sizeof(vhostfd_name))
goto no_memory;
error:
for (i = 0; i <= last_good_net; i++)
virNWFilterTearNWFilter(def->nets[i]);
- if (tapfds &&
- *tapfds) {
- for (i = 0; i < *ntapfds; i++)
- close((*tapfds)[i]);
- VIR_FREE(*tapfds);
- *ntapfds = 0;
+ if (vmfds &&
+ *vmfds) {
+ for (i = 0; i < *nvmfds; i++)
+ close((*vmfds)[i]);
+ VIR_FREE(*vmfds);
+ *nvmfds = 0;
}
if (qargv) {
for (i = 0 ; i < qargc ; i++)
unsigned long long qemuCmdFlags,
const char ***retargv,
const char ***retenv,
- int **tapfds,
- int *ntapfds,
+ int **vmfds,
+ int *nvmfds,
const char *migrateFrom,
virDomainSnapshotObjPtr current_snapshot)
ATTRIBUTE_NONNULL(1);
const char **progenv = NULL;
int i, ret;
struct stat sb;
- int *tapfds = NULL;
- int ntapfds = 0;
+ int *vmfds = NULL;
+ int nvmfds = 0;
unsigned long long qemuCmdFlags;
fd_set keepfd;
const char *emulator;
vm->def->id = driver->nextvmid++;
if (qemudBuildCommandLine(conn, driver, vm->def, priv->monConfig,
priv->monJSON, qemuCmdFlags, &argv, &progenv,
- &tapfds, &ntapfds, migrateFrom,
+ &vmfds, &nvmfds, migrateFrom,
vm->current_snapshot) < 0)
goto cleanup;
VIR_WARN("Unable to seek to end of logfile: %s",
virStrerror(errno, ebuf, sizeof ebuf));
- for (i = 0 ; i < ntapfds ; i++)
- FD_SET(tapfds[i], &keepfd);
+ for (i = 0 ; i < nvmfds ; i++)
+ FD_SET(vmfds[i], &keepfd);
ret = virExecDaemonize(argv, progenv, &keepfd, &child,
stdin_fd, &logfile, &logfile,
if (ret == -1) /* The VM failed to start; tear filters before taps */
virNWFilterTearVMNWFilters(vm);
- if (tapfds) {
- for (i = 0 ; i < ntapfds ; i++) {
- close(tapfds[i]);
+ if (vmfds) {
+ for (i = 0 ; i < nvmfds ; i++) {
+ close(vmfds[i]);
}
- VIR_FREE(tapfds);
+ VIR_FREE(vmfds);
}
if (ret == -1) /* The VM failed to start */