qemu: maintain user alias for video type 'none'

After parsing a video device with a model type of
VIR_DOMAIN_VIDEO_TYPE_NONE, all device info is cleared (see
virDomainDefPostParseVideo()) in order to avoid formatting any
auto-generated values for the XML. Subsequently, however, an alias is
generated for the video device (e.g. 'video0'), which results in an
alias property being formatted in the XML output anyway. This creates
confusion if the user has explicitly provided an alias for the video
device since the alias will change.

To avoid this, don't clear the user-defined alias for video devices of
type "none".

https://bugzilla.redhat.com/show_bug.cgi?id=1720612

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Jonathon Jongsma 2019-09-05 11:17:38 -05:00 committed by Erik Skultety
parent 0bd4ad193d
commit 9f90a4bfb4
3 changed files with 8 additions and 2 deletions

View File

@ -5635,11 +5635,15 @@ virDomainDefPostParseVideo(virDomainDefPtr def,
return 0; return 0;
if (def->videos[0]->type == VIR_DOMAIN_VIDEO_TYPE_NONE) { if (def->videos[0]->type == VIR_DOMAIN_VIDEO_TYPE_NONE) {
char *alias;
/* we don't want to format any values we automatically fill in for /* we don't want to format any values we automatically fill in for
* videos into the XML, so clear them * videos into the XML, so clear them, but retain any user-assigned
*/ * alias */
VIR_STEAL_PTR(alias, def->videos[0]->info.alias);
virDomainVideoDefClear(def->videos[0]); virDomainVideoDefClear(def->videos[0]);
def->videos[0]->type = VIR_DOMAIN_VIDEO_TYPE_NONE; def->videos[0]->type = VIR_DOMAIN_VIDEO_TYPE_NONE;
VIR_STEAL_PTR(def->videos[0]->info.alias, alias);
} else { } else {
virDomainDeviceDef device = { virDomainDeviceDef device = {
.type = VIR_DOMAIN_DEVICE_VIDEO, .type = VIR_DOMAIN_DEVICE_VIDEO,

View File

@ -31,6 +31,7 @@
<graphics type='vnc'/> <graphics type='vnc'/>
<video> <video>
<model type='none'/> <model type='none'/>
<alias name='ua-user-video-alias'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

View File

@ -34,6 +34,7 @@
</graphics> </graphics>
<video> <video>
<model type='none'/> <model type='none'/>
<alias name='ua-user-video-alias'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>