Google Summer of Code 2010/QMP

From QEMU

Summary

qemu has many commands attached to the monitor interface that are currently inaccessible over QMP (QEMU Machine Protocol). I intend to give continuity to this effort, converting the remaining functions to the QObject API. While doing this conversion, the QObject API can be updated to improve its functionality when required.

More details about the protocol: http://www.linux-kvm.org/page/MonitorProtocol

Team

Student

Mentor

Subsystems being worked on

Handler Status
do_info_netdevices Sent v4 to qemu-devel on May 18, pending review.
do_savevm/do_loadvm Planning/Studding the code.
do_info_qdm Need to confirm libvirt's needs/priority about this.

do_info_netdevices

We were struggling to get the output of 'info network' exactly the same and juggling to work around the lack of a pattern when formatting VLANClientState.info_str. So we decided to add a new and clean command, and leave 'info network' as it is.

This is the latest patch:

http://lists.gnu.org/archive/html/qemu-devel/2010-05/msg01567.html

do_savevm/do_loadvm

May 21

Got saving UUID information in a qcow2 file, using QCowSnapshot->extra_data_size and displaying it on 'info snapshots'. It seams we can have snapshot inheritance without breaking the file format or any old code. Now time to actually save the inheritance.

Helpful references:

May 19

After talking with Chris Lalancette from libvirt, we need snapshot inheritance in qemu, before converting do_savevm/do_loadvm to QMP. I've analyzed the code and I there is some hairy things to do. There are more people working on this code, so I will try to get a go before starting coding.

Source code

The working being done can be followed here:

http://github.com/miguelzinho/qemu-soc