aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2012-01-31 21:19:51 -0700
committerEric Blake <eblake@redhat.com>2012-02-01 15:21:56 -0700
commit99fd69c3dea9728e21b9dcc668290a75be3efc48 (patch)
treea69a46f115df596a46eee30a62f178af4be95552 /docs/apibuild.py
parentqemu: Add support for virDomainGetMetadata and virDomainSetMetadata (diff)
downloadlibvirt-99fd69c3dea9728e21b9dcc668290a75be3efc48.tar.gz
libvirt-99fd69c3dea9728e21b9dcc668290a75be3efc48.tar.bz2
libvirt-99fd69c3dea9728e21b9dcc668290a75be3efc48.zip
block rebase: add new API virDomainBlockRebase
Qemu is adding the ability to do a partial rebase. That is, given: base <- intermediate <- current virDomainBlockPull will produce: current but qemu now has the ability to leave base in the chain, to produce: base <- current Note that current qemu can only do a forward merge, and only with the current image as the destination, which is fully described by this API without flags. But in the future, it may be possible to enhance this API for additional scenarios by using flags: Merging the current image back into a previous image (that is, undoing a live snapshot), could be done by passing base as the destination and flags with a bit requesting a backward merge. Merging any other part of the image chain, whether forwards (the backing image contents are pulled into the newer file) or backwards (the deltas recorded in the newer file are merged back into the backing file), could also be done by passing a new flag that says that base should be treated as an XML snippet rather than an absolute path name, where the XML could then supply the additional instructions of which part of the image chain is being merged into any other part. * include/libvirt/libvirt.h.in (virDomainBlockRebase): New declaration. * src/libvirt.c (virDomainBlockRebase): Implement it. * src/libvirt_public.syms (LIBVIRT_0.9.10): Export it. * src/driver.h (virDrvDomainBlockRebase): New driver callback. * src/rpc/gendispatch.pl (long_legacy): Add exemption. * docs/apibuild.py (long_legacy_functions): Likewise.
Diffstat (limited to 'docs/apibuild.py')
-rwxr-xr-xdocs/apibuild.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/docs/apibuild.py b/docs/apibuild.py
index c8b5994d7..1ac0281f0 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -1649,6 +1649,7 @@ class CParser:
"virDomainSetMemoryFlags" : (False, ("memory")),
"virDomainBlockJobSetSpeed" : (False, ("bandwidth")),
"virDomainBlockPull" : (False, ("bandwidth")),
+ "virDomainBlockRebase" : (False, ("bandwidth")),
"virDomainMigrateGetMaxSpeed" : (False, ("bandwidth")) }
def checkLongLegacyFunction(self, name, return_type, signature):