On 01/14/2011 06:46 AM, Daniel P. Berrange wrote:
> The 'id' setting for the chardev should really have a
prefix
> on it, because we won't want it to be the same as the 'id'
> setting used for the -device option.
This is in fact a pre-existing flaw in our chardev handling
which we need to fix. The 'qemuBuildChrChardevStr' API & its
callers are buggy. They takes the assigned alias from the XML
and use it directly for the chardev. So we end up with
-chardev pty,id=$alias
-device isa-serial,chardev=$alias
The serial/parallel/channels -device args are all missing
any 'id' property entirely which is bad, because it means
we won't be able to support hotplug. What we should be
generating is
-chardev pty,id=cdev$alias
-device isa-serial,id=$alias,chardev=cdev$alias
So that both parts have a unique identifier assigned,
and the alias from the XML is associated with the
'-device' arg, and the -chardev is a derivative.
Done with the attached patch. git send-email won't let me send it
directly, since it has a line longer than SMTP limits for inline mail:
fatal:
/tmp/canS3cO9Y0/0001-qemu-use-separate-alias-for-chardev-and-associated-d.patch:
163: patch contains a line longer than 998 characters
warning: no patches were sent
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org