On Sun, Jun 17, 2007 at 10:48:17PM +0100, Daniel P. Berrange wrote:
The 3 patches which follow are work-in-progress to re-factor the
QEMU
daemon / driver to eventually adhere to the main libvirt internal driver
API. Once this work is complete, there will only need to be a single
daemon running which can provide both remote & QEMU capabilities at once
with no QEMU specific code in it.
This is following some of the ideas I set out here
http://www.redhat.com/archives/libvir-list/2007-May/msg00083.html
Following on from the 3 patches I've just sent out, I anticipate a handful
of further patches over the next few days todo the following
- Split the qemud_server struct into two structs
- qemud_server to only contain data about client/server sockets
- qemud_manager to only contain data about VMs & networks
The conf.c, and driver.c files will need updating to deal with this
- Re-implement qemudReportError in terms of virError APIs
- Change contract of all public methods in qemud/driver.c to match that needed
by the libvirt src/driver.h API.
- Move the QEMU related code into src/ dir. This will consist of
iptables.c/.h
bridge.c/.h
driver.c/.h
conf.c/.h
- Remove the legacy QEMU protocol by deleting
qemud/protocol.*
src/qemud_internal.*
At this time, the daemon will be totally generic.
BTW, I'm maintaining this series of patches as a patch queue, with the intent
that we have fully-working code at every step of the re-factoring process,
though at some intermediate stages I'll be doing some horrific things with
the build process ;-)
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|