From 9f90a4bfb4f93b9922680a11eaff9baa9046b4f8 Mon Sep 17 00:00:00 2001 From: Jonathon Jongsma Date: Thu, 5 Sep 2019 11:17:38 -0500 Subject: [PATCH] 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 Reviewed-by: Erik Skultety --- src/conf/domain_conf.c | 8 ++++++-- tests/qemuxml2argvdata/video-none-device.xml | 1 + tests/qemuxml2xmloutdata/video-none-device.xml | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6c429cd593..210deeee7e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5635,11 +5635,15 @@ virDomainDefPostParseVideo(virDomainDefPtr def, return 0; 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 - * 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]); def->videos[0]->type = VIR_DOMAIN_VIDEO_TYPE_NONE; + VIR_STEAL_PTR(def->videos[0]->info.alias, alias); } else { virDomainDeviceDef device = { .type = VIR_DOMAIN_DEVICE_VIDEO, diff --git a/tests/qemuxml2argvdata/video-none-device.xml b/tests/qemuxml2argvdata/video-none-device.xml index 4b591562b7..c1c60c1d9e 100644 --- a/tests/qemuxml2argvdata/video-none-device.xml +++ b/tests/qemuxml2argvdata/video-none-device.xml @@ -31,6 +31,7 @@
diff --git a/tests/qemuxml2xmloutdata/video-none-device.xml b/tests/qemuxml2xmloutdata/video-none-device.xml index 6e76b394fe..82615f5125 100644 --- a/tests/qemuxml2xmloutdata/video-none-device.xml +++ b/tests/qemuxml2xmloutdata/video-none-device.xml @@ -34,6 +34,7 @@
-- GitLab