[libvirt PATCH] qemu: do not attempt to pass unopened vsock FD
Peter Krempa
pkrempa at redhat.com
Thu Oct 20 14:48:52 UTC 2022
On Thu, Oct 20, 2022 at 16:27:45 +0200, Ján Tomko wrote:
> On normal vm startup, we open a file descriptor
> for the vsock device in qemuProcessPrepareHost.
>
> However, when doing domxml-to-native, no file descriptors are open.
>
> Only pass the fd if it's not -1, to make domxml-to-native work.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1777212
>
> Signed-off-by: Ján Tomko <jtomko at redhat.com>
> ---
> Technically a v2 of:
> https://listman.redhat.com/archives/libvir-list/2021-July/msg00803.html
>
> I did not look at other cases, but IIRC the ones converted to use qemuFD*
> wrappers should handle missing FDs gracefully.
>
> src/qemu/qemu_command.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 150824f2e1..bbbde57c0f 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -9717,7 +9717,8 @@ qemuBuildVsockCommandLine(virCommand *cmd,
> if (!(devprops = qemuBuildVsockDevProps(def, vsock, qemuCaps, "")))
> return -1;
>
> - virCommandPassFD(cmd, priv->vhostfd, VIR_COMMAND_PASS_FD_CLOSE_PARENT);
> + if (priv->vhostfd != -1)
> + virCommandPassFD(cmd, priv->vhostfd, VIR_COMMAND_PASS_FD_CLOSE_PARENT);
> priv->vhostfd = -1;
In 'qemuBuildVsockDevProps' the 'fd' field is formated via '%u'. Please
change it to '%d' to go along with this patch.
>
> if (qemuCommandAddExtDevice(cmd, &vsock->info, def, qemuCaps) < 0)
> --
> 2.37.3
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
More information about the libvir-list
mailing list