[libvirt] [PATCH] xen config: No vfb in HVM guest configuration

Stefan Bader stefan.bader at canonical.com
Fri Apr 6 06:33:28 UTC 2012


2012/4/6 Daniel Veillard <veillard at redhat.com>:
> On Thu, Apr 05, 2012 at 06:44:35PM +0200, Stefan Bader wrote:
>> This causes an implicit vkbd device to be added which takes
>> 6min to finally fail being initialized in the guest.
>>
>> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00409.html
>>
>> Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
>> ---
>>  src/xenxs/xen_sxpr.c |   11 ++++-------
>>  src/xenxs/xen_xm.c   |    2 +-
>>  2 files changed, 5 insertions(+), 8 deletions(-)
>>
>> diff --git a/src/xenxs/xen_sxpr.c b/src/xenxs/xen_sxpr.c
>> index b26b2bc..b2f98f6 100644
>> --- a/src/xenxs/xen_sxpr.c
>> +++ b/src/xenxs/xen_sxpr.c
>> @@ -2464,9 +2464,8 @@ xenFormatSxpr(virConnectPtr conn,
>>              }
>>          }
>>
>> -        /* PV graphics for xen <= 3.0.4, or HVM graphics for xen <= 3.1.0 */
>> -        if ((!hvm && xendConfigVersion < XEND_CONFIG_MIN_VERS_PVFB_NEWCONF) ||
>> -            (hvm && xendConfigVersion < XEND_CONFIG_VERSION_3_1_0)) {
>> +        /* PV graphics for xen <= 3.0.4, or HVM graphics */
>> +        if (hvm || (xendConfigVersion < XEND_CONFIG_MIN_VERS_PVFB_NEWCONF)) {
>>              if ((def->ngraphics == 1) &&
>>                  xenFormatSxprGraphicsOld(def->graphics[0],
>>                                           &buf, xendConfigVersion) < 0)
>> @@ -2578,10 +2577,8 @@ xenFormatSxpr(virConnectPtr conn,
>>      if (xenFormatSxprAllPCI(def, &buf) < 0)
>>          goto error;
>>
>> -    /* New style PV graphics config xen >= 3.0.4,
>> -     * or HVM graphics config xen >= 3.0.5 */
>> -    if ((xendConfigVersion >= XEND_CONFIG_MIN_VERS_PVFB_NEWCONF && !hvm) ||
>> -        (xendConfigVersion >= XEND_CONFIG_VERSION_3_1_0 && hvm)) {
>> +    /* New style PV graphics config xen >= 3.0.4 */
>> +    if (!hmv && (xendConfigVersion >= XEND_CONFIG_MIN_VERS_PVFB_NEWCONF)) {
>
>            ^^^ typo, it's hvm
>    did you really compiled with the patch applied ?

No, but no, too. Sorry, just saw this. I must admit I did not compile
this again. I tried but it would have required a bit more fiddling to
get over the autogen stage. And it was getting later the day, so I
just ported what I got for our package and sent it.
But the !hvm would be correct here. This is emitting the vfb part in
sxpr which comes later with the devices sections. It should only be
done for PVM not HVM. The patch basically removes the lower part of
the if (so I probably should have left the order of config version
test and then looking at hvm or not untouched, but I thought it be
clearer to have all tests in the same pattern).

>
>>          if ((def->ngraphics == 1) &&
>>              xenFormatSxprGraphicsNew(def->graphics[0], &buf) < 0)
>>              goto error;
>> diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
>> index 8e24fd52..d65e97a 100644
>> --- a/src/xenxs/xen_xm.c
>> +++ b/src/xenxs/xen_xm.c
>> @@ -1779,7 +1779,7 @@ virConfPtr xenFormatXM(virConnectPtr conn,
>>      }
>>
>>      if (def->ngraphics == 1) {
>> -        if (xendConfigVersion < (hvm ? XEND_CONFIG_VERSION_3_1_0 : XEND_CONFIG_MIN_VERS_PVFB_NEWCONF)) {
>> +        if (hvm || (xendConfigVersion < XEND_CONFIG_MIN_VERS_PVFB_NEWCONF)) {
>>              if (def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
>>                  if (xenXMConfigSetInt(conf, "sdl", 1) < 0)
>>                      goto no_memory;
>
>  okay, based on the Xen upstream discussion, this sounds like the right
> thing to do, AK
>
>  I fixed the above typo, added you to AUTHORS and pushed
>
>   thanks !

Thanks,
Stefan

>
> Daniel
>
> --
> Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
> daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
> http://veillard.com/ | virtualization library  http://libvirt.org/
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list