Daniel P. Berrange wrote:
This is a very big patch, but actually there is no real functional change in it at all. It is splitting the qemud_server struct into 2 pieces. The qemud_server struct now only deals with client/server socket stuff. The new qemud_driver struct deals with QEMU vms and networks. The driver.c and conf.c files are now 100% independant of the QEMU daemon, and so ready for the final adaption to the libvirt driver API. conf.c | 192 ++++++++--------- conf.h | 30 +- dispatch.c | 295 +++++++++++---------------- driver.c | 657 ++++++++++++++++++++++++++++++++++--------------------------- driver.h | 335 ++++++++++++++++++++++++++----- internal.h | 237 ---------------------- qemud.c | 50 ---- 7 files changed, 909 insertions(+), 887 deletions(-)
That's a complicated patch to follow, but the guts of it appears to be this, the rest being just code movement[1].
diff -r af6d5f54a13a qemud/driver.h --- a/qemud/driver.h Sun Jun 17 22:11:10 2007 -0400 +++ b/qemud/driver.h Sun Jun 17 22:11:17 2007 -0400 @@ -27,21 +27,266 @@
[...]
+/* Main driver state */ +struct qemud_driver { + int qemuVersion; + int qemuCmdFlags; /* values from enum qemud_cmd_flags */ + int nactivevms; + int ninactivevms; + struct qemud_vm *vms; + int nextvmid; + int nactivenetworks; + int ninactivenetworks; + struct qemud_network *networks; + brControl *brctl; + iptablesContext *iptables; + char *configDir; + char *autostartDir; + char *networkConfigDir; + char *networkAutostartDir; + char logDir[PATH_MAX]; +};
@@ -333,25 +123,9 @@ struct qemud_server { struct qemud_server { int nsockets; struct qemud_socket *sockets; - int qemuVersion; - int qemuCmdFlags; /* values from enum qemud_cmd_flags */ int nclients; struct qemud_client *clients; int sigread; - int nvmfds; - int nactivevms; - int ninactivevms; - struct qemud_vm *vms; - int nextvmid; - int nactivenetworks; - int ninactivenetworks; - struct qemud_network *networks; - brControl *brctl; - iptablesContext *iptables; - char *configDir; - char *autostartDir; - char *networkConfigDir; - char *networkAutostartDir; char logDir[PATH_MAX]; unsigned int shutdown : 1; };
That did lead me to wonder what happened to server->nvmfds - there are two references to it in the code and both have been removed, but it turns out it was only ever being written to, which I guess made it less than useful.
Rich.[1] Now if only there was a computer language where you define the structures and the code just followed ...
-- 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
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature