On 02/17/2013 11:50 AM, Alon Levy wrote:
> Hi Martin,
> 
>> On 02/04/2013 04:16 PM, Christophe Fergeau wrote:
>>> QXL devices have an associated 'revision' which is raised when
>>> new features have been introduced which would break migration
>>> to older versions. This commit makes it possible to set this
>>> revision as QEMU sometimes support newer QXL revisions than what
>>> it defaults to.
>>
>> This could help a lot, but few questions, if I may:
>>  - This only helps when the revision is specified, otherwise not,
>>  right?
> 
> If by "helps" you mean "changes the revision", then it's a bit more complex - 
> the revision is determined by order of precedence by the following:
> default
> machine type (i.e. via -M)
> global (which this patch sets)
> 

Even though this is not the root cause neither the place we want to fix
it; so the theoretical migration problem occurs because the machine type
doesn't specify the revision, right?  Just asking to make sure I understand.

>>  - Isn't there a way how to get the current supported (running)
>>  revision
>> of QEMU's qxl video?
>>
>> If we don't know the current (and supported) revision, we are
>> exposing a
>> parameter we know completely nothing about and thus can only try to
>> start qemu with it and wait if it initializes (I know that's how we
>> do
>> it with devices, but there's no other option).  Transferring current
>> revision during migration (even when unspecified) would help
>> determining
>> such errors before starting QEMU on destination.
>>
>> There's not much info about the revisions if you don't look in QEMU
>> sources, so I'm not sure what our possibilities are.  It's a good
>> thing
>> that the 'revision' parameter is supported since the same commit as
>> qxl
>> driver, though.
> 
>  There is no "introspection" from the help, sorry. So like you said the only 
> way to know what supported revisions are is to:
> 1) start a vm with -vga qxl as stopped, query the revision of the qxl device, 
> you get R, then [1..R] are supported (i.e. inclusive)

This could be pretty doable.  We already query some information from
qemu, although not device-relevant.  I have to look in the code, but
good to know it is gettable from the monitor.  Maybe we can run the
initial '-M none' with '-vga qxl' or '-device qxl-[vga]' to get the
revision.

> 2) to find out which higher revisions are supported, you'll have to start 
> with each successive higher revision until you get an error code (you can 
> wait for the machine start event, that is sent after all devices are 
> initialized)
> 
> Of course we can fix qemu to report it now, but it won't help for any of the 
> older versions..
> 

Thanks for the info,
Martin

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to