On 3/26/19 11:55 AM, Daniel P. Berrangé wrote: > On Tue, Mar 26, 2019 at 01:13:51AM -0500, Eric Blake wrote: >> Introduce a bunch of new public APIs related to backup checkpoints. >> Checkpoints are modeled heavily after virDomainSnapshotPtr (both >> represent a point in time of the guest), although a snapshot exists >> with the intent of rolling back to that state, while a checkpoint >> exists to make it possible to create an incremental backup at a later >> time. >> >> The following map shows the API relations to snapshots, with new APIs >> on the right: >> >> Operate on a domain object to create/redefine a child: >> virDomainSnapshotCreateXML virDomainCheckpointCreateXML >> >> Operate on a child object for lifetime management: >> virDomainSnapshotDelete virDomainCheckpointDelete >> virDomainSnapshotFree virDomainCheckpointFree >> virDomainSnapshotRef virDomainCheckpointRef >> >> Operate on a child object to learn more about it: >> virDomainSnapshotGetXMLDesc virDomainCheckpointGetXMLDesc >> virDomainSnapshotGetConnect virDomainCheckpointGetConnect >> virDomainSnapshotGetDomain virDomainCheckpointGetDomain >> virDomainSnapshotGetName virDomainCheckpiontGetName >> virDomainSnapshotGetParent virDomainCheckpiontGetParent >> virDomainSnapshotHasMetadata virDomainCheckpointHasMetadata >> virDomainSnapshotIsCurrent virDomainCheckpointIsCurrent >> >> Operate on a domain object to list all children: >> virDomainSnapshotNum (no counterpart, this is the old >> virDomainSnapshotListNames racy interface) >> virDomainSnapshotListAllSnapshots virDomainListCheckpoints > > The snapshot API was actually virDomainListAllSnapshots. > > For naming consistency I'd prefer to see "All" in the name of the > name API too eg virDomainListAllCheckpoints Can do. That one's quite mechanical to fix. > >> >> Operate on a child object to list descendents: >> virDomainSnapshotNumChildren (no counterpart, this is the old >> virDomainSnapshotListChildrenNames racy interface) >> virDomainSnapshotListAllChildren virDomainCheckpointListChildren > > and virDomainCheckpointListAllChildren here too Yep, consistency in both places makes sense. > >> Operate on a domain to locate a particular child: >> virDomainSnapshotLookupByName virDomainCheckpointLookupByName >> virDomainHasCurrentSnapshot virDomainHasCurrentSnapshot > > Presumably the second should be virDomainhasCurrentCheckpoint Correct, will fix my commit message. > >> virDomainSnapshotCurrent virDomainCheckpointCurrent >> >> Operate on a snapshot to roll back to earlier state: >> virDomainSnapshotRevert (no counterpart, instead checkpoints >> are used in incremental backups via >> XML to virDomainBackupBegin) >> >> Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> >> --- >> +++ b/include/libvirt/libvirt-domain.h >> @@ -1774,6 +1774,9 @@ typedef enum { >> VIR_DOMAIN_UNDEFINE_NVRAM = (1 << 2), /* Also remove any >> nvram file */ >> VIR_DOMAIN_UNDEFINE_KEEP_NVRAM = (1 << 3), /* Keep nvram file */ >> + VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA= (1 << 4),/* If last use of domain, >> + then also remove any >> + checkpoint metadata */ > > Whitespace missing before the "=" and between ",/" I'm not sure how best to fit things; then again, it looks like we don't always try to hit 80 columns in the public headers, so I don't mind adding the space. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list