mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
qemu_fd: Remove error checking from qemuFDPassAddFD
It's effectively replaced by checks in qemuFDPassTransfer. This will simplify cleanup paths on constructing the qemuFDPass object when FDs are being handled. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
80f75fb758
commit
5077263ecb
@ -4948,10 +4948,7 @@ qemuBuildVideoCommandLine(virCommand *cmd,
|
||||
chrsrc->type = VIR_DOMAIN_CHR_TYPE_UNIX;
|
||||
chrsrcpriv->sourcefd = qemuFDPassNewDirect(video->info.alias, priv);
|
||||
|
||||
if (qemuFDPassAddFD(chrsrcpriv->sourcefd,
|
||||
&videopriv->vhost_user_fd,
|
||||
"-vhost-user") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(chrsrcpriv->sourcefd, &videopriv->vhost_user_fd, "-vhost-user");
|
||||
|
||||
if (qemuBuildChardevCommand(cmd, chrsrc, chrAlias, priv->qemuCaps) < 0)
|
||||
return -1;
|
||||
@ -8785,8 +8782,7 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver,
|
||||
|
||||
vdpa = qemuFDPassNew(net->info.alias, priv);
|
||||
|
||||
if (qemuFDPassAddFD(vdpa, &vdpafd, "-vdpa") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(vdpa, &vdpafd, "-vdpa");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -9814,9 +9810,8 @@ qemuBuildTPMCommandLine(virCommand *cmd,
|
||||
passtpm = qemuFDPassNew(tpm->info.alias, priv);
|
||||
passcancel = qemuFDPassNew(tpm->info.alias, priv);
|
||||
|
||||
if (qemuFDPassAddFD(passtpm, &fdtpm, "-tpm") < 0 ||
|
||||
qemuFDPassAddFD(passcancel, &fdcancel, "-cancel") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(passtpm, &fdtpm, "-tpm");
|
||||
qemuFDPassAddFD(passcancel, &fdcancel, "-cancel");
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -159,37 +159,19 @@ qemuFDPassNewDirect(const char *prefix,
|
||||
* @suffix is used to build the name of the file descriptor by concatenating
|
||||
* it with @prefix passed to qemuFDPassNew. @suffix may be NULL, in which case
|
||||
* it's considered to be an empty string.
|
||||
*
|
||||
* Returns 0 on success, -1 on error (when attempting to pass multiple FDs) using
|
||||
* the 'direct' method.
|
||||
*/
|
||||
int
|
||||
void
|
||||
qemuFDPassAddFD(qemuFDPass *fdpass,
|
||||
int *fd,
|
||||
const char *suffix)
|
||||
{
|
||||
struct qemuFDPassFD newfd = { .fd = *fd };
|
||||
|
||||
if (newfd.fd < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("invalid file descriptor"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!fdpass->useFDSet &&
|
||||
fdpass->nfds >= 1) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("direct FD passing supports only 1 file descriptor"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
*fd = -1;
|
||||
|
||||
newfd.opaque = g_strdup_printf("%s%s", fdpass->prefix, NULLSTR_EMPTY(suffix));
|
||||
|
||||
VIR_APPEND_ELEMENT(fdpass->fds, fdpass->nfds, newfd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@ qemuFDPass *
|
||||
qemuFDPassNewDirect(const char *prefix,
|
||||
void *dompriv);
|
||||
|
||||
int
|
||||
void
|
||||
qemuFDPassAddFD(qemuFDPass *fdpass,
|
||||
int *fd,
|
||||
const char *suffix);
|
||||
|
@ -6847,8 +6847,7 @@ qemuProcessPrepareHostBackendChardevOne(virDomainDeviceDef *dev,
|
||||
|
||||
charpriv->sourcefd = qemuFDPassNew(devalias, data->priv);
|
||||
|
||||
if (qemuFDPassAddFD(charpriv->sourcefd, &sourcefd, "-source") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(charpriv->sourcefd, &sourcefd, "-source");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -6867,8 +6866,7 @@ qemuProcessPrepareHostBackendChardevOne(virDomainDeviceDef *dev,
|
||||
|
||||
charpriv->sourcefd = qemuFDPassNewDirect(devalias, data->priv);
|
||||
|
||||
if (qemuFDPassAddFD(charpriv->sourcefd, &sourcefd, "-source") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(charpriv->sourcefd, &sourcefd, "-source");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -6895,8 +6893,7 @@ qemuProcessPrepareHostBackendChardevOne(virDomainDeviceDef *dev,
|
||||
|
||||
charpriv->logfd = qemuFDPassNew(devalias, data->priv);
|
||||
|
||||
if (qemuFDPassAddFD(charpriv->logfd, &logfd, "-log") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(charpriv->logfd, &logfd, "-log");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1084,8 +1084,7 @@ testQemuPrepareHostBackendChardevOne(virDomainDeviceDef *dev,
|
||||
else
|
||||
charpriv->sourcefd = qemuFDPassNewDirect(devalias, priv);
|
||||
|
||||
if (qemuFDPassAddFD(charpriv->sourcefd, &fakesourcefd, "-source") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(charpriv->sourcefd, &fakesourcefd, "-source");
|
||||
}
|
||||
|
||||
if (chardev->logfile) {
|
||||
@ -1096,8 +1095,7 @@ testQemuPrepareHostBackendChardevOne(virDomainDeviceDef *dev,
|
||||
|
||||
charpriv->logfd = qemuFDPassNew(devalias, priv);
|
||||
|
||||
if (qemuFDPassAddFD(charpriv->logfd, &fd, "-log") < 0)
|
||||
return -1;
|
||||
qemuFDPassAddFD(charpriv->logfd, &fd, "-log");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user