[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