[libvirt] [PATCH] conf: Fix incorrect spice graphic XML format on compression options

Matthias Bolte matthias.bolte at googlemail.com
Tue May 31 12:17:42 UTC 2011


2011/5/24 Michal Prívozník <mprivozn at redhat.com>:
> On 24.05.2011 13:43, Michal Privoznik wrote:
>> If spice graphics has no <channel> elements, the output graphics XML
>> is messed up. To prevent this, we need to end the <graphics> element
> By messing up I mean something like this:
> ......
>    <graphics type='spice' autoport='yes'      <image
> compression='auto_glz'/>
>      <jpeg compression='auto'/>
>      <zlib compression='auto'/>
>      <playback compression='on'/>
> />
> ......
>> just before adding any compression selecting elements.
>> ---
>>  src/conf/domain_conf.c |    6 ++++++
>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index 3f2fb11..2800db5 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -8082,6 +8082,12 @@ virDomainGraphicsDefFormat(virBufferPtr buf,
>>                                virDomainGraphicsSpiceChannelNameTypeToString(i),
>>                                virDomainGraphicsSpiceChannelModeTypeToString(mode));
>>          }
>> +        if (!children && (def->data.spice.image || def->data.spice.jpeg ||
>> +                          def->data.spice.zlib || def->data.spice.playback ||
>> +                          def->data.spice.streaming)) {
>> +            virBufferAddLit(buf, ">\n");
>> +            children = 1;
>> +        }
>>          if (def->data.spice.image)
>>              virBufferAsprintf(buf, "      <image compression='%s'/>\n",
>>                                virDomainGraphicsSpiceImageCompressionTypeToString(def->data.spice.image));
>

Could you add test file to the qemu tests that shows the broken
formatting and passes cleanly after your patch is applied? This way we
can avoid future regressions in XML formatting in this area, because
will complain.

Matthias




More information about the libvir-list mailing list