On Thu, Jun 28, 2018 at 07:42:33AM -0500, Eric Blake wrote:
On 06/28/2018 06:50 AM, Daniel P. Berrangé wrote:
> When using domxml-to-native, we must generate CLI args that can be used
> in a standalone scenario. This means no FD passing can be used. To
> achieve this we must clear the QEMU_CAPS_CHARDEV_FD_PASS capability bit.
>
> Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
> ---
> src/qemu/qemu_process.c | 5 +++++
> src/qemu/qemu_process.h | 2 ++
> 2 files changed, 7 insertions(+)
>
> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
> index ac32dafcbe..40d35cbe6b 100644
> --- a/src/qemu/qemu_process.c
> +++ b/src/qemu/qemu_process.c
> @@ -5124,6 +5124,9 @@ qemuProcessInit(virQEMUDriverPtr driver,
>
vm->def->os.machine)))
> goto cleanup;
> + if (flags & VIR_QEMU_PROCESS_START_STANDALONE)
> + virQEMUCapsClear(priv->qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS);
> +
Is priv->qemuCaps a transient copy, or do you need counterpart code to
reinstate the capability as needed after the current API call is completed?
Yes, you can't see it in the diffstat, but one line higher up we call
virQEMUCapsCacheLookupCopy()
which deep clones the caps. This ensures the caps refects the QEMU
capabilities at the time it was launched, even if the binary on disk
then changes.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|