Daniel P. Berrange wrote:
There are a number of existing APIs which can benefit from this, hence I decided to work on this separately from the main storage APIs. The APIs which can make use of this are virDomainCreateLinux, virDomainCreate, virNetworkCreate, virNetworkCreateXML, virDomainSave, virDomainRestore, and virDomainDumpCore. For all of these we add a second variant postfixed with 'Job' in the name, returning a virJobPtr object
Another way to do this is to overload the domain etc. objects and make them into suspensions. The advantages being (a) no new API is needed and (b) some code benefits from overlapping computation even without being changed. See also my reply here:
http://www.redhat.com/archives/libvir-list/2007-July/msg00257.htmlOTOH, suspensions require "interesting" code changes inside libvirt, although not necessarily requiring threads - there are several possible implementations.
Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903
Description: S/MIME Cryptographic Signature