[libvirt] [PATCHv4 0/5] Handling of undefine and redefine snapshots with VirtualBox 4.2

Michal Privoznik mprivozn at redhat.com
Mon Dec 16 14:00:20 UTC 2013


On 25.11.2013 18:23, Manuel VIVES wrote:
> Hi,
> This is a serie of patches in order to support undefining and redefining
> snapshots with VirtualBox 4.2.
> 
> The serie of patches is rather big, and adds among other things some utility
> functions unrelated to VirtualBox in patches 1 & 2.
> The code review could be done in several parts: e.g. patches 1 & 2 separately to
> validate the utility functions.
> 
> The VirtualBox API provides only high level operations to manipulate snapshots,
> so it not possible to support flags like VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE and
> VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY with only API calls.
> Following an IRC talk with Eric Blake, the decision was taken to emulate these
> behaviours by manipulating directly the .vbox XML files.
> 
> The first two patches are some util methods for handling uuid and strings that
> will be used after.
> 
> The third patch brings more details in the snapshot XML returned by libvirt.
> We will need those modifications in order to redefine the snapshots.
> 
> The fourth patch brings the support of the VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE
> and VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT flags in virDomainSnapshotCreateXML.
> 
> The fifth and last patch brings the support of the
> VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY
> flag in virDomainSnapshotDelete.
> 
> The patches are only tested with Virtualbox 4.2 but the code is
> compliant with Virtualbox 4.3 API.
> 
> Regards,
> Manuel VIVES
> 
> V4:
> * The code is compliant with Virtualbox 4.3 API
> * Some minor modifications in order to satisfy "make syntax-check"
> 
> V3:
> * Use of STREQ_NULLABLE instead of STREQ in one case
> * Fix the method for finding uuids according to Ján Tomko review
> 
> V2:
> * Fix a licence problem with the method for string replacement
> 
> Manuel VIVES (5):
>   viruuid.h/c: Util method for finding uuid patterns in some strings
>   virstring.h/c: Util method for making some find and replace in
>     strings
>   vbox_tmpl.c: Better XML description for snapshots
>   vbox_tmpl.c: Patch for redefining snapshots
>   vbox_tmpl.c: Add methods for undefining snapshots
> 
>  po/POTFILES.in           |    1 +
>  src/conf/domain_conf.c   |    2 +-
>  src/libvirt_private.syms |    2 +
>  src/util/virstring.c     |   48 ++
>  src/util/virstring.h     |    2 +
>  src/util/viruuid.c       |   81 ++
>  src/util/viruuid.h       |    1 +
>  src/vbox/vbox_tmpl.c     | 1854 +++++++++++++++++++++++++++++++++++++++++++---
>  8 files changed, 1879 insertions(+), 112 deletions(-)
> 

Can you rebase and resend please? I was about to review this (better
late than never, right?) but the HEAD moved a lot since then and I'm
unable to apply the patches cleanly.

Michal




More information about the libvir-list mailing list