On Fri, Jun 28, 2013 at 04:45:08PM +0200, Michal Privoznik wrote:
On 28.06.2013 15:55, Daniel P. Berrange wrote:
> On Fri, Jun 28, 2013 at 03:31:17PM +0200, Michal Privoznik wrote:
>> For some crazy backward compatibility, a console can by just an alias to
>> a serial device. This is detected in the XML formating function which
>> takes the values to format from corresponding serial device. Including
>> the device alias. This results in wrong alias being written into the XML
>> definition:
>>
>> <console type='pty' tty='/dev/pts/5'>
>> ...
>> <alias name='serial0'/>
>> </console>
>>
>> While holding the correct alias still in the memory, it doesn't matter.
>> However, it starts to matter as soon as libvirtd is restarted and the
>> (incorrect) alias is read from status file.
I don't actually see this problem at all.
Starting with a guest containing
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
After virsh start, it contains
<serial type='pty'>
<source path='/dev/pts/7'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/7'>
<source path='/dev/pts/7'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
The XML in $XDG_RUNTIME_DIR/libvirt/qemu/run/vm1.xml contains
exactly the same.
If i now kill libvirtd and restart it, the XML is still
reported correctly.
How do you reproduce the bug ?
>
> This isn't any more correct that your previous patch. For the
> dummy <console> elements, the alias *must* be copied from /
> identical to the corresponding <serial> device config.
>
>
> Daniel
>
So what are you saying is, it's the <serial> that has the wrong alias
assigned? The output should be like this then?
<serial type='pty'>
<source path='/dev/pts/5'/>
<target type='isa-serial' port='0'/>
<alias name='console0'/>
<!-- originaly was serial0 -->
</serial>
<console type='pty' tty='/dev/pts/5'>
<source path='/dev/pts/5'/>
<target type='serial' port='0'/>
<alias name='console0'/>
</console>
No, the alias name must match that of the device id= parameter in the
QEMU command line which is 'serial0' for a serial port.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|