[Libvir] PATCH 20/20: move the QEMU driver into libvirt.so
Daniel P. Berrange
berrange at redhat.com
Fri Jun 22 14:27:43 UTC 2007
Forgot to add the diffstat for this patch. Its not nearly as scary as its
size sugests
b/qemud/libvirtd.sysconf | 6
libvirt.spec.in | 5
qemud/Makefile.am | 19 -
qemud/conf.c | 2
qemud/conf.h | 11
qemud/driver.c | 69 +----
qemud/driver.h | 3
qemud/internal.h | 2
qemud/libvirtd.init.in | 12
qemud/protocol.x | 574 -----------------------------------------------
qemud/qemud.c | 293 +++++------------------
qemud/remote.c | 4
src/Makefile.am | 14 -
src/libvirt.c | 7
src/remote_internal.c | 38 ++-
src/remote_internal.h | 5
16 files changed, 171 insertions(+), 893 deletions(-)
On Fri, Jun 22, 2007 at 03:35:42AM +0100, Daniel P. Berrange wrote:
> This is the final step to move the QEMU code out of the daemon binary and
> into the main libvirt.so library. Practically all of protocol.x goes away
> apart from a single struct representing the header - this should probably
> be moved into remote_protocol.x - or vica-verca. The --remote switch to
> the daemon is removed since its no longer needed. A single --listen switch
> is added to control whether the daemon opens any TCP/IP sockets or not,
> and a config file in /etc/sysconfig/libvirtd is provided to toggle this.
> By default the daemon will only listen on a UNIX socket, unless the admin
> edits /etc/sysconfig/libvirtd to enable TCP - whether it uses TCP or TLS
> is still upto the libvirtd.conf config file.
>
> The driver.c file is switched over to using virGetDomain and virGetNetwork
> instead of its previous temporary / nasty hack. A qemudRegister function
> is added to make the new implementation be registered.
>
> The daemon now registers an event loop implementation to be used by the
> QEMU driver. Various bits of code relating to the QEMU protocol are killed
> off in the qemud.c file.
>
> The remote_internal.c file is adapted so that it will handle qemu:///sesion
> and qemu:///system URLs as if they were qemu+unix:///session and
> qemu+unix:///system respectively. It is also adapted so that in the case
> of qemu:///session is uses $HOME/.libvirt/libvirt-sock for the UNIX domain
> socket path. It is also tweaked to use the abstract namespace if the first
> character is @
>
>
> Rather than showing a huge +10000 lines, -10000 lines diff caused by
> moving files from qemud/ into src/, i've applied some makefile trickery
> to make libvirt.so compile some files out of qemud/ directly. I intend
> to commit it in this format, and then do the actual file names in a second
> commit. This will avoid mixing functional changes, with plain renames
> to preserve better historical CVS logs.
>
> The files to be moved from qemud/ to src/ are:
>
> driver.c -> qemud_driver.c
> driver.h -> qemud_driver.h
> conf.c -> qemud_conf.c
> conf.h -> qemud_conf.h
> bridge.c
> bridge.h
> iptables.c
> iptables.h
> uuid.c
> uuid.h
>
> The files to be completely deleted are:
>
> dispatch.c
> dispatch.h
> protocol.c
> protocol.h
> protocol.x
> qemu_internal.c
> qemu_internal.h
>
>
> NB. one feature I've just realized is missing is the autostart of the
> daemon when using qemu:///session in remote_internal.c. Shouldn't be
> much work to move the neccessary code from qemu_internal.c across.
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 -=|
More information about the libvir-list
mailing list