[libvirt] [PATCH] domain_conf: Include the correct console alias
Daniel P. Berrange
berrange at redhat.com
Fri Jun 28 15:01:17 UTC 2013
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 :|
More information about the libvir-list
mailing list