[libvirt] [PATCH] qemu: don't use chardev FD passing with standalone args

Daniel P. Berrangé berrange at redhat.com
Thu Jun 28 12:45:45 UTC 2018


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 at 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 :|




More information about the libvir-list mailing list