After working with ESX and VBox, I realized that a tweak to how
snapshot relationships are stored would speed things up from O(n^2)
to O(n). The hash table must be kept for name lookup, but the
speedup comes by tracking relationships with each snapshot rather
than crawling the entire hash table rebuilding those relations
for every operation that needs particular relations.
Eric Blake (4):
snapshot: framework for more efficient relation traversal
snapshot: track qemu snapshot relations
snapshot: take advantage of new relations
snapshot: drop dead parameters
src/conf/domain_conf.c | 266 +++++++++++++++++++++++++---------------------
src/conf/domain_conf.h | 22 ++--
src/libvirt_private.syms | 3 +-
src/qemu/qemu_driver.c | 84 +++++++++++----
4 files changed, 224 insertions(+), 151 deletions(-)
--
1.7.4.4