qemu: Convert passing of 'slirpfd' to 'qemuFDPassDirect'

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2022-05-16 15:08:05 +02:00
parent 1715dfce38
commit 7e1c24c925
5 changed files with 8 additions and 9 deletions

View File

@ -4289,7 +4289,7 @@ qemuBuildHostNetProps(virDomainNetDef *net)
if (netpriv->slirpfd) { if (netpriv->slirpfd) {
if (virJSONValueObjectAdd(&netprops, if (virJSONValueObjectAdd(&netprops,
"s:type", "socket", "s:type", "socket",
"s:fd", qemuFDPassGetPath(netpriv->slirpfd), "s:fd", qemuFDPassDirectGetPath(netpriv->slirpfd),
NULL) < 0) NULL) < 0)
return NULL; return NULL;
} else { } else {
@ -8884,8 +8884,9 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver,
for (n = netpriv->vhostfds; n; n = n->next) for (n = netpriv->vhostfds; n; n = n->next)
qemuFDPassDirectTransferCommand(n->data, cmd); qemuFDPassDirectTransferCommand(n->data, cmd);
if (qemuFDPassTransferCommand(netpriv->slirpfd, cmd) < 0 || qemuFDPassDirectTransferCommand(netpriv->slirpfd, cmd);
qemuFDPassTransferCommand(netpriv->vdpafd, cmd) < 0)
if (qemuFDPassTransferCommand(netpriv->vdpafd, cmd) < 0)
return -1; return -1;
if (!(hostnetprops = qemuBuildHostNetProps(net))) if (!(hostnetprops = qemuBuildHostNetProps(net)))

View File

@ -1051,7 +1051,7 @@ qemuDomainNetworkPrivateClearFDs(qemuDomainNetworkPrivate *priv)
if (!priv) if (!priv)
return; return;
g_clear_pointer(&priv->slirpfd, qemuFDPassFree); g_clear_pointer(&priv->slirpfd, qemuFDPassDirectFree);
g_clear_pointer(&priv->vdpafd, qemuFDPassFree); g_clear_pointer(&priv->vdpafd, qemuFDPassFree);
g_slist_free_full(g_steal_pointer(&priv->vhostfds), (GDestroyNotify) qemuFDPassDirectFree); g_slist_free_full(g_steal_pointer(&priv->vhostfds), (GDestroyNotify) qemuFDPassDirectFree);
g_slist_free_full(g_steal_pointer(&priv->tapfds), (GDestroyNotify) qemuFDPassDirectFree); g_slist_free_full(g_steal_pointer(&priv->tapfds), (GDestroyNotify) qemuFDPassDirectFree);

View File

@ -403,7 +403,7 @@ struct _qemuDomainNetworkPrivate {
qemuSlirp *slirp; qemuSlirp *slirp;
/* file descriptor transfer helpers */ /* file descriptor transfer helpers */
qemuFDPass *slirpfd; qemuFDPassDirect *slirpfd;
GSList *tapfds; /* qemuFDPassDirect */ GSList *tapfds; /* qemuFDPassDirect */
GSList *vhostfds; /* qemuFDPassDirect */ GSList *vhostfds; /* qemuFDPassDirect */
qemuFDPass *vdpafd; qemuFDPass *vdpafd;

View File

@ -1386,7 +1386,7 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
} }
} }
if (qemuFDPassTransferMonitor(netpriv->slirpfd, priv->mon) < 0 || if (qemuFDPassDirectTransferMonitor(netpriv->slirpfd, priv->mon) < 0 ||
qemuFDPassTransferMonitor(netpriv->vdpafd, priv->mon) < 0) { qemuFDPassTransferMonitor(netpriv->vdpafd, priv->mon) < 0) {
qemuDomainObjExitMonitor(vm); qemuDomainObjExitMonitor(vm);
goto cleanup; goto cleanup;

View File

@ -352,9 +352,7 @@ qemuSlirpStart(virDomainObj *vm,
slirp->pid = pid; slirp->pid = pid;
netpriv->slirpfd = qemuFDPassNewDirect(fdname, priv); netpriv->slirpfd = qemuFDPassDirectNew(fdname, &slirp->fd[0]);
qemuFDPassAddFD(netpriv->slirpfd, &slirp->fd[0], NULL);
return 0; return 0;