mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: Fix assignment of the default spicevmc channel name
Make sure we only assign the default spicevmc channel name to spicevmc virtio channels. Caused by commits3269ee65and1133ee2b, which moved the assignment from XML parsing code to QEMU but failed to keep the logic. https://bugzilla.redhat.com/show_bug.cgi?id=1179680 Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
@@ -6427,7 +6427,9 @@ qemuBuildVirtioSerialPortDevStr(virDomainDefPtr def,
|
||||
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SPICEVMC))) {
|
||||
virBufferAsprintf(&buf, ",chardev=char%s,id=%s",
|
||||
dev->info.alias, dev->info.alias);
|
||||
if (dev->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL) {
|
||||
if (dev->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
|
||||
(dev->source.type == VIR_DOMAIN_CHR_TYPE_SPICEVMC ||
|
||||
dev->target.name)) {
|
||||
virBufferAsprintf(&buf, ",name=%s", dev->target.name
|
||||
? dev->target.name : "com.redhat.spice.0");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults \
|
||||
-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=readline \
|
||||
-no-acpi \
|
||||
-boot c \
|
||||
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
|
||||
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
|
||||
-usb \
|
||||
-hda /dev/HostVG/QEMUGuest1 \
|
||||
-chardev pty,id=charchannel0 \
|
||||
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0 \
|
||||
-chardev spicevmc,id=charchannel1,name=vdagent \
|
||||
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,\
|
||||
name=com.redhat.spice.0 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
|
||||
@@ -0,0 +1,36 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static' cpuset='1-4,8-20,525'>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu</emulator>
|
||||
<disk type='block' device='disk'>
|
||||
<source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||
</disk>
|
||||
<controller type='usb' index='0'/>
|
||||
<controller type='ide' index='0'/>
|
||||
<controller type='virtio-serial' index='1'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<channel type='pty'>
|
||||
<target type='virtio'/>
|
||||
</channel>
|
||||
<channel type="spicevmc">
|
||||
<target type="virtio"/>
|
||||
</channel>
|
||||
<memballoon model='virtio'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -1110,6 +1110,9 @@ mymain(void)
|
||||
DO_TEST("channel-spicevmc-old",
|
||||
QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
|
||||
QEMU_CAPS_SPICE, QEMU_CAPS_DEVICE_SPICEVMC);
|
||||
DO_TEST("channel-virtio-default",
|
||||
QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
|
||||
QEMU_CAPS_SPICE, QEMU_CAPS_CHARDEV_SPICEVMC);
|
||||
|
||||
DO_TEST("smartcard-host",
|
||||
QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
|
||||
|
||||
Reference in New Issue
Block a user