[libvirt] [PATCH] qemu_command: don't modify heads for graphics device

Martin Kletzander mkletzan at redhat.com
Sat Aug 13 21:16:20 UTC 2016

On Sat, Aug 13, 2016 at 07:10:35PM +0200, Pavel Hrdina wrote:
>On Sat, Aug 13, 2016 at 03:29:11PM +0200, Martin Kletzander wrote:
>> On Fri, Aug 12, 2016 at 05:27:28PM +0200, Pavel Hrdina wrote:
>> >Setting heads to 0 in case that *max_outputs* is not supported while building
>> >command line doesn't have any real effect.  It only removes *heads* attribute
>> >from live XML, but after restarting libvirt the default value is restored.
>> >
>> So that the XML reflects how the guest was started instead of
>> arbitrarily showing some number that wasn't used for the guest
>> initialization at all.
>This is the only thing what it does and it also has a side effect on downstream
>screenshot API [1].

OK, so there *is* a real effect ;)

>> Moreover the zero will be sent in the migratable XML when migrating to
>> another host, hence keeping the setting disabled (so that some screens
>> that are running already will not be removed).  At least that's what I
>> had in mind, maybe the behaviour changed in the meantime.
>In migratable XML there is the default heads='1', because our parser set this
>default if "heads" is missing in the XML and we don't print heads='0' to XML.
>I've just tested it, to be sure, that the heads attribute doesn't have effect on
>migration.  If you start a guest on libvirt where *heads* isn't passed to qemu,
>use virt-viewer and open two displays, and migrate to second host with newer
>libvirt where *heads* is passed to qemu, it still have all the heads from
>the source and no opened screen is removed.

OK, that's only fair.  There were like 7 or so divergent versions (based
on the reviewer) so I probably just messed that up.  I kinda remember
that I hated 'heads' being initialized to '1' even when not used, that
was the main pain point of the whole series :-/

>It was also written during one of the review of the original patches that this
>can be changed while the guest is running and from what I know there is no way
>how to get the current number of heads back to track the correct number in
>libvirt's XML.

Well, yes, it is supposed to be changeable, although I never managed to
achieve that.

You convinced me, ACK.  With the commit message actually mentioning the
fix at least.

>[1] <https://bugzilla.redhat.com/show_bug.cgi?id=1366119>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160813/1248d902/attachment-0001.sig>

More information about the libvir-list mailing list