mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 21:34:54 +03:00
qemu_passt: Report passt's error on failed start
When starting passt, it may write something onto its stderr (convincing it to print even more is addressed later). Pass this string we read to user. Since we're not daemonizing passt anymore (see previous commit), we can let virCommand module do all the heavy lifting and switch to virCommandSetErrorBuffer() instead of reading error from an FD. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: Laine Stump <laine@redhat.com>
This commit is contained in:
parent
c0efdbdb9f
commit
02355840ce
@ -144,18 +144,18 @@ qemuPasstStart(virDomainObj *vm,
|
||||
g_autofree char *passtSocketName = qemuPasstCreateSocketPath(vm, net);
|
||||
g_autoptr(virCommand) cmd = NULL;
|
||||
g_autofree char *pidfile = qemuPasstCreatePidFilename(vm, net);
|
||||
g_autofree char *errbuf = NULL;
|
||||
char macaddr[VIR_MAC_STRING_BUFLEN];
|
||||
size_t i;
|
||||
pid_t pid = (pid_t) -1;
|
||||
int exitstatus = 0;
|
||||
int cmdret = 0;
|
||||
VIR_AUTOCLOSE errfd = -1;
|
||||
|
||||
cmd = virCommandNew(PASST);
|
||||
|
||||
virCommandClearCaps(cmd);
|
||||
virCommandSetPidFile(cmd, pidfile);
|
||||
virCommandSetErrorFD(cmd, &errfd);
|
||||
virCommandSetErrorBuffer(cmd, &errbuf);
|
||||
|
||||
virCommandAddArgList(cmd,
|
||||
"--one-off",
|
||||
@ -266,7 +266,7 @@ qemuPasstStart(virDomainObj *vm,
|
||||
|
||||
if (cmdret < 0 || exitstatus != 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Could not start 'passt'. exitstatus: %d"), exitstatus);
|
||||
_("Could not start 'passt': %s"), NULLSTR(errbuf));
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user