[libvirt] [PATCHv4] libvirt: do not mix internal flags into public API

Eric Blake eblake at redhat.com
Mon Jul 18 19:27:43 UTC 2011


On 07/15/2011 05:12 PM, Eric Blake wrote:
> There were two API in driver.c that were silently masking flags
> bits prior to calling out to the drivers, and several others
> that were explicitly masking flags bits.  This is not
> forward-compatible - if we ever have that many flags in the
> future, then talking to an old server that masks out the
> flags would be indistinguishable from talking to a new server
> that can honor the flag.  In general, libvirt.c should forward
> _all_ flags on to drivers, and only the drivers should reject
> unknown flags.
>
> In the case of virDrvSecretGetValue, the solution is to separate
> the internal driver callback function to have two parameters
> instead of one, with only one parameter affected by the public
> API.

On second thought, I don't like this.  It's nicer to have all the driver 
callbacks match the public API as much as possible, and to instead 
create a new entry point in libvirt_private.syms that qemu can use for 
the case where it needs to call the internal API instead of the public 
virSecretGetValue.  v5 coming up.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list