• E
    snapshot: Don't leak moment obj list metaroot to callers · ceb10192
    Eric Blake 提交于
    virDomainSnapshotFindByName(list, NULL) should return NULL, rather
    than the internal-use-only metaroot.  Most existing callers pass in a
    non-NULL name; the few external callers that don't are immediately
    calling virDomainMomentSetParent (which indeed needs the metaroot
    rather than NULL if the parent name is NULL); but as the leaky
    abstraction is ugly, it is worth instead making
    virDomainMomentSetParent static and adding a new function for
    resolving the parent link of a brand new moment within its list.  The
    existing external uses of virDomainMomentSetParent always succeed
    (either the new moment has parent_name of NULL to become a new root,
    or has parent_name set to a strdup of the previous current moment);
    hence, our new function does not need a return value (but it still has
    a VIR_WARN in case future uses break our assumptions about failure
    being impossible).
    
    Missed when commit 02c4e24d refactored things to attempt to remove
    direct metaroot manipulations out of the qemu and test drivers into
    internal-only details, and made more obvious when commit dc8d3dc6
    factored it out into a separate file.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
    ceb10192
test_driver.c 235.3 KB