
You probably meant vbox and not esx in the subject, didn't you? 2011/10/4 Eric Blake <eblake@redhat.com>:
Commit 9f5e53e introduced the ability to filter snapshots to just roots, but it was never implemented for VBox until now. The VBox documentation makes it appear that there can only be at most one root snapshot, which will be found by searching for the snapshot with a NULL uuid.
* src/vbox/vbox_tmpl.c (vboxDomainSnapshotNum) (vboxDomainSnapshotListNames): Implement limiting list to root. ---
Caveat: I was only able to compile-test this. Nothing in the VBox documentation that I read mentioned what happens if you try to call IConsole::deleteSnapshot on the root snapshot with branched children (well, it is obvious that prior to VBox 3.1, this will fail, because branched snapshots in general were not supported before then). If, like other hypervisors, it is possible to delete the root, leaving multiple children as independent roots, then I have no idea how to list those additional roots, since IMachine::findSnapshot is only wired to return a single root when passed a NULL search string. So I blindly assumed that at most 1 root is possible, and am hoping that VBox rejects attempts to delete the root if it has multiple children.
There's a trick, VBox doesn't allow you to delete a snapshot with more than one child. So you can never create a situation with multiple roots.
src/vbox/vbox_tmpl.c | 37 ++++++++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 5 deletions(-)
Tested (but only on VBox 4.0), works, ACK. -- Matthias Bolte http://photron.blogspot.com