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.