[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