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

View File

@ -1051,7 +1051,7 @@ qemuDomainNetworkPrivateClearFDs(qemuDomainNetworkPrivate *priv)
if (!priv)
return;
g_clear_pointer(&priv->slirpfd, qemuFDPassFree);
g_clear_pointer(&priv->slirpfd, qemuFDPassDirectFree);
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->tapfds), (GDestroyNotify) qemuFDPassDirectFree);

View File

@ -403,7 +403,7 @@ struct _qemuDomainNetworkPrivate {
qemuSlirp *slirp;
/* file descriptor transfer helpers */
qemuFDPass *slirpfd;
qemuFDPassDirect *slirpfd;
GSList *tapfds; /* qemuFDPassDirect */
GSList *vhostfds; /* qemuFDPassDirect */
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) {
qemuDomainObjExitMonitor(vm);
goto cleanup;

View File

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