On Tue, Nov 03, 2009 at 02:50:01PM -0500, Daniel P. Berrange wrote: > Change the QEMU driver to not directly invoke the text mode monitor > APIs. Instead add a generic wrapper layer, which will eventually > invoke either the text or JSON protocol code as needed. Pass an > qemuMonitorPtr object into the monitor APIs instead of virDomainObjPtr > to complete the de-coupling of the monitor impl from virDomainObj > data structures > > * src/qemu/qemu_conf.h: Remove qemuDomainObjPrivate definition > * src/qemu/qemu_driver.c: Add qemuDomainObjPrivate definition. > Pass qemuMonitorPtr into all monitor APIs instead of the > virDomainObjPtr instance. > * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add thin > wrappers for all qemuMonitorXXX command APIs, calling into > qemu_monitor_text.c/h > * src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: > Rename qemuMonitor -> qemuMonitorText & update to accept > qemuMonitorPtr instead of virDomainObjPtr [...] > @@ -1192,7 +1199,7 @@ qemudInitCpus(virConnectPtr conn, > > if (migrateFrom == NULL) { > /* Allow the CPUS to start executing */ > - if (qemuMonitorStartCPUs(conn, vm) < 0) { > + if (qemuMonitorStartCPUs(priv->mon, conn) < 0) { err args are really swapped now ? I gues steh compiled would complain loudly if this wasn't the case ... > - (qemuMonitorSetBalloon(vm, vm->def->memory) < 0) || > + (qemuMonitorSetBalloon(((qemuDomainObjPrivatePtr)vm->privateData)->mon, vm->def->memory) < 0) || any possibility to wrap to 80 ? > if (vm->state == VIR_DOMAIN_PAUSED) { > - if (qemuMonitorStartCPUs(dom->conn, vm) < 0) { > + qemuDomainObjPrivatePtr priv = vm->privateData; > + if (qemuMonitorStartCPUs(priv->mon, dom->conn) < 0) { apparently yes swapped now ... > + > +int > +qemuMonitorStartCPUs(qemuMonitorPtr mon, > + virConnectPtr conn) > +{ > + DEBUG("mon=%p, fd=%d", mon, mon->fd); > + > + return qemuMonitorTextStartCPUs(mon, conn); > +} Okay ... qemuMonitorPtr is the first arg for all those entry points now, makes sense... ACK a fairly long patch but mostly automatic change and the addition of the indirection, nothing really surprizing :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list