On 09/17/2012 05:08 PM, Peter Krempa wrote:
> +
> +int virDomainBlockCommit(virDomainPtr dom, const char *disk, const
> char *base,
> + const char *top, unsigned long bandwidth,
> + unsigned int flags);
Hm, I'm always wondering how things would be if we'd use libvirt
"objects" instead of strings for doing such things:
We could use a virStorageVolPtrs for the arguments but we would need to
have a way to use storage volumes not present in libvirt's pools. (We
would need a way to wrap them somehow into our storage objects).
Yeah, having a way to get a list of virStorageVolPtrs for each domain,
and then for each volume, get another list of virStorageVolPtrs
representing the backing chain, would be cool. But it affects more than
just this API (virDomainBlockRebase, virDomainBlockPull, and probably
several other chain manipulation commands could benefit from an
alternative version that operates on objects instead of strings).
> +++ b/src/libvirt_public.syms
> @@ -562,6 +562,7 @@ LIBVIRT_0.10.2 {
> virConnectListAllNWFilters;
> virConnectListAllSecrets;
> virConnectListAllStoragePools;
> + virDomainBlockCommit;
> virNodeGetMemoryParameters;
> virNodeSetMemoryParameters;
> virStoragePoolListAllVolumes;
>
This patch as well as the API looks fine from my point of view and
contains a ton of documentation, so ACK if nobody else objects.
I've gone ahead and pushed it, then, after adding a cross-reference
between virDomainBlockPull and virDomainBlockCommit as being in the
opposite direction.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org