
On Tue, Jul 22, 2008 at 11:42:03AM -0400, Cole Robinson wrote:
Hi all,
I've hit a couple bugs in the qemu driver with the recent domain xml refactoring. I've debugged them but in both cases I'm not sure what the optimal solutions are, so I'm just laying them out here:
1) Previously defining a qemu guest without a 'listen' address specified in the graphics tag would default to 127.0.0.1 (hardcoded in qemu_driver->vncListen). Current xml doesn't set this default, and will build a qemu command line with an entry like '-vnc (null):1'. Not sure if the default should be set at the parsing level or the driver level.
There was a good reason for removing the 127.0.0.1 from the XML parsing stage, but i can't remember what it is :-) Anyway this should really be handled at the point where we build the command line in the qemu driver code
2) If a cpuset isn't specified, def->cpumask is null. However qemudInitCpus from qemu_driver.c doesn't know how to handle this, causing libvirtd to crash. This function is also using QEMUD_CPUMASK_LEN which I think should be replaced with VIR_DOMAIN_CPUMASK_LEN. I tried the obvious fix of just skipping the dependent code if cpumask is null, but there still seemed to be problems and I didn't dig much deeper.
I'm surprised that doesn't work - we should be able to just skip the bit of code within the HAVE_SCHED_GETAFFINITY conditional, and go straight to the part when it issues the 'cont' command to the monitor to start execution. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|