[PATCH v5 0/3] Fix virtio console port assignment issue

Changelog: --- v5: - Added xml tests to tests/qemuxmlconfdata - Fixed virito -> virtio typo in commit message --- v4: - Update commit messages --- v3: - Added Reviewed-By - Included CI Results Link --- v2: - Split patch into two commits - Added fixes tag --- This libvirt patch series does the following: 1. fixes an issue with virtio console device port auto assignment on vioserial buses 2. updates console port reservation comment and changes the allowZero variable to allowPortZero for clarity 3. Adds tests for virtio console on the vioserial bus Currently in libvirt, a virtio console device cannot be auto assigned a port number greater than zero on a vioserial bus. This leads to port collision errors when adding more than 1 virtio console device on a single vioserial bus. After applying this patch, one can add multiple console ports under a single vioserial bus. Here is a link to CI results for this series: https://gitlab.com/aaronbmalik/libvirt/-/pipelines/1855918840 Aaron M. Brown (3): qemuxmlconftest: Add console-virtio-vioserial tests virDomainVirtioSerialAddrAssign: Fix virtio console port auto assignment on vioserial bus domain_addr.c: update console port reservation comment and allowZero var to allowPortZero for clarity src/conf/domain_addr.c | 27 +++++--- ...onsole-virtio-vioserial.x86_64-latest.args | 44 +++++++++++++ ...console-virtio-vioserial.x86_64-latest.xml | 63 +++++++++++++++++++ .../console-virtio-vioserial.xml | 48 ++++++++++++++ tests/qemuxmlconftest.c | 1 + 5 files changed, 173 insertions(+), 10 deletions(-) create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.xml -- 2.39.5 (Apple Git-154)

Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com> --- ...onsole-virtio-vioserial.x86_64-latest.args | 44 +++++++++++++ ...console-virtio-vioserial.x86_64-latest.xml | 63 +++++++++++++++++++ .../console-virtio-vioserial.xml | 48 ++++++++++++++ tests/qemuxmlconftest.c | 1 + 4 files changed, 156 insertions(+) create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.xml diff --git a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args new file mode 100644 index 0000000000..d317b3bf3a --- /dev/null +++ b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args @@ -0,0 +1,44 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ +-accel tcg \ +-cpu qemu64 \ +-m size=219136k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ +-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x2"}' \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \ +-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \ +-chardev pty,id=charserial0 \ +-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ +-chardev pty,id=charconsole1 \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":1,"chardev":"charconsole1","id":"console1"}' \ +-chardev pty,id=charconsole2 \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":2,"chardev":"charconsole2","id":"console2"}' \ +-chardev pty,id=charconsole3 \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":3,"chardev":"charconsole3","id":"console3"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml new file mode 100644 index 0000000000..c63a950ea0 --- /dev/null +++ b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml @@ -0,0 +1,63 @@ +<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='x86_64' machine='pc'>hvm</type> + <boot dev='hd'/> + </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='block' device='disk'> + <driver name='qemu' type='raw'/> + <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' model='piix3-uhci'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + </controller> + <controller type='ide' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> + </controller> + <controller type='virtio-serial' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pci-root'/> + <serial type='pty'> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + <console type='pty'> + <target type='virtio' port='1'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </console> + <console type='pty'> + <target type='virtio' port='2'/> + <address type='virtio-serial' controller='0' bus='0' port='2'/> + </console> + <console type='pty'> + <target type='virtio' port='3'/> + <address type='virtio-serial' controller='0' bus='0' port='3'/> + </console> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <memballoon model='virtio'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> + </memballoon> + </devices> +</domain> diff --git a/tests/qemuxmlconfdata/console-virtio-vioserial.xml b/tests/qemuxmlconfdata/console-virtio-vioserial.xml new file mode 100644 index 0000000000..229572156e --- /dev/null +++ b/tests/qemuxmlconfdata/console-virtio-vioserial.xml @@ -0,0 +1,48 @@ +<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='x86_64' 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-system-x86_64</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='0'/> + <controller type='pci' index='0' model='pci-root'/> + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + <console type='pty'> + <target type='virtio' port='1'/> + <address type='virtio-serial' controller='0'/> + </console> + <console type='pty'> + <target type='virtio' port='2'/> + <address type='virtio-serial' controller='0'/> + </console> + <console type='pty'> + <target type='virtio' port='3'/> + <address type='virtio-serial' controller='0'/> + </console> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <memballoon model='virtio'/> + </devices> +</domain> diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c index 7fe51ba4f8..88e2bb9c5a 100644 --- a/tests/qemuxmlconftest.c +++ b/tests/qemuxmlconftest.c @@ -1884,6 +1884,7 @@ mymain(void) DO_TEST_CAPS_LATEST("channel-virtio-autoadd"); DO_TEST_CAPS_LATEST("console-virtio"); DO_TEST_CAPS_LATEST("console-virtio-many"); + DO_TEST_CAPS_LATEST("console-virtio-vioserial"); DO_TEST_CAPS_ARCH_LATEST("console-virtio-ccw", "s390x"); DO_TEST_CAPS_LATEST("console-virtio-unix"); DO_TEST_CAPS_ARCH_LATEST("console-sclp", "s390x"); -- 2.39.5 (Apple Git-154)

On Thu, Jun 05, 2025 at 20:09:22 -0400, Aaron M. Brown wrote: Please describe the configuration that this is testing in the commit messsage.
Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com> --- ...onsole-virtio-vioserial.x86_64-latest.args | 44 +++++++++++++ ...console-virtio-vioserial.x86_64-latest.xml | 63 +++++++++++++++++++ .../console-virtio-vioserial.xml | 48 ++++++++++++++ tests/qemuxmlconftest.c | 1 + 4 files changed, 156 insertions(+) create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.xml
qemuxmlconftest fails after applying this patch. Note that build including test suite must be successful after each patch: https://www.libvirt.org/hacking.html#preparing-patches "If you're going to submit multiple patches, the automated tests must pass after each patch, not just after the last one." But the good thing is that this patch will actually show what the difference will be and will make good example what your patch is fixing. To comply with the above you'll need to regenerate output after this patch, thus having broken [1] outputs as example until the patch that actually fixes it. Please describe in the commit message what's wrong with the test data. [1] The diff to make this pass tests is: diff --git a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args index d317b3bf3a..f987168477 100644 --- a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args +++ b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args @@ -33,11 +33,11 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ -chardev pty,id=charconsole1 \ --device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":1,"chardev":"charconsole1","id":"console1"}' \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":0,"chardev":"charconsole1","id":"console1"}' \ -chardev pty,id=charconsole2 \ --device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":2,"chardev":"charconsole2","id":"console2"}' \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":0,"chardev":"charconsole2","id":"console2"}' \ -chardev pty,id=charconsole3 \ --device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":3,"chardev":"charconsole3","id":"console3"}' \ +-device '{"driver":"virtconsole","bus":"virtio-serial0.0","nr":0,"chardev":"charconsole3","id":"console3"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml index c63a950ea0..acee9999af 100644 --- a/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml +++ b/tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml @@ -43,15 +43,15 @@ </console> <console type='pty'> <target type='virtio' port='1'/> - <address type='virtio-serial' controller='0' bus='0' port='1'/> + <address type='virtio-serial' controller='0' bus='0' port='0'/> </console> <console type='pty'> <target type='virtio' port='2'/> - <address type='virtio-serial' controller='0' bus='0' port='2'/> + <address type='virtio-serial' controller='0' bus='0' port='0'/> </console> <console type='pty'> <target type='virtio' port='3'/> - <address type='virtio-serial' controller='0' bus='0' port='3'/> + <address type='virtio-serial' controller='0' bus='0' port='0'/> </console> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> Which shows that we'd assign port 0 to everything.

This change fixes an issue with virtio console port assignment on vioserial buses. Currently, when trying to autoassign a virtio console device, the device cannot be assigned to a port greater than 0 on vioserial buses. You will receive the following error: `virtio-serial-bus: A port already exists at id 0` Therefore, the data needs to be passed back into info when allowZero is true Fixes: 16db8d2ec540 ("Add functions to track virtio-serial addresses") Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com> --- src/conf/domain_addr.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 8dfa8feca0..76e11c0dde 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1737,6 +1737,13 @@ virDomainVirtioSerialAddrAssign(virDomainDef *def, if (virDomainVirtioSerialAddrNextFromController(addrs, &ptr->addr.vioserial) < 0) return -1; + + if (ptr == &nfo) { + /* pass the vioserial data back into info as info is used + * later for port assignment */ + info->addr.vioserial = ptr->addr.vioserial; + } + } else { if (virDomainVirtioSerialAddrNext(def, addrs, &ptr->addr.vioserial, allowZero) < 0) -- 2.39.5 (Apple Git-154)

On Thu, Jun 05, 2025 at 20:09:23 -0400, Aaron M. Brown wrote:
This change fixes an issue with virtio console port assignment on vioserial buses. Currently, when trying to autoassign a virtio console device, the device cannot be assigned to a port greater than 0 on vioserial buses. You will receive the following error:
`virtio-serial-bus: A port already exists at id 0`
Therefore, the data needs to be passed back into info when allowZero is true
Fixes: 16db8d2ec540 ("Add functions to track virtio-serial addresses") Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com> --- src/conf/domain_addr.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 8dfa8feca0..76e11c0dde 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1737,6 +1737,13 @@ virDomainVirtioSerialAddrAssign(virDomainDef *def, if (virDomainVirtioSerialAddrNextFromController(addrs, &ptr->addr.vioserial) < 0) return -1; + + if (ptr == &nfo) { + /* pass the vioserial data back into info as info is used + * later for port assignment */ + info->addr.vioserial = ptr->addr.vioserial; + } + } else { if (virDomainVirtioSerialAddrNext(def, addrs, &ptr->addr.vioserial, allowZero) < 0)
This looks good to me, but will require the appropriate hunks to make the tests pass.

Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com> --- src/conf/domain_addr.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 76e11c0dde..1d417ac36d 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1638,14 +1638,14 @@ static int virDomainVirtioSerialAddrNext(virDomainDef *def, virDomainVirtioSerialAddrSet *addrs, virDomainDeviceVirtioSerialAddress *addr, - bool allowZero) + bool allowPortZero) { ssize_t port, startPort = 0; ssize_t i; unsigned int controller; - /* port number 0 is reserved for virtconsoles */ - if (allowZero) + /* port number 0 is reserved for the first virtconsole */ + if (allowPortZero) startPort = -1; if (addrs->ncontrollers == 0) { @@ -1725,11 +1725,11 @@ static int ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) virDomainVirtioSerialAddrAssign(virDomainDef *def, virDomainVirtioSerialAddrSet *addrs, virDomainDeviceInfo *info, - bool allowZero, + bool allowPortZero, bool portOnly) { virDomainDeviceInfo nfo = { 0 }; - virDomainDeviceInfo *ptr = allowZero ? &nfo : info; + virDomainDeviceInfo *ptr = allowPortZero ? &nfo : info; ptr->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL; @@ -1746,7 +1746,7 @@ virDomainVirtioSerialAddrAssign(virDomainDef *def, } else { if (virDomainVirtioSerialAddrNext(def, addrs, &ptr->addr.vioserial, - allowZero) < 0) + allowPortZero) < 0) return -1; } @@ -1765,20 +1765,20 @@ int virDomainVirtioSerialAddrAutoAssignFromCache(virDomainDef *def, virDomainVirtioSerialAddrSet *addrs, virDomainDeviceInfo *info, - bool allowZero) + bool allowPortZero) { bool portOnly = info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL; if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL && info->addr.vioserial.port) return virDomainVirtioSerialAddrReserve(NULL, NULL, info, addrs); else - return virDomainVirtioSerialAddrAssign(def, addrs, info, allowZero, portOnly); + return virDomainVirtioSerialAddrAssign(def, addrs, info, allowPortZero, portOnly); } int virDomainVirtioSerialAddrAutoAssign(virDomainDef *def, virDomainDeviceInfo *info, - bool allowZero) + bool allowPortZero) { virDomainVirtioSerialAddrSet *addrs = NULL; int ret = -1; @@ -1786,7 +1786,7 @@ virDomainVirtioSerialAddrAutoAssign(virDomainDef *def, if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def))) goto cleanup; - if (virDomainVirtioSerialAddrAutoAssignFromCache(def, addrs, info, allowZero) < 0) + if (virDomainVirtioSerialAddrAutoAssignFromCache(def, addrs, info, allowPortZero) < 0) goto cleanup; ret = 0; -- 2.39.5 (Apple Git-154)

I see patch 3/3 as a reply in this email thread, but don't see 1 or 2. Is this problem only on my end, or did you forgot to send some of the patches in this version? On 6/5/25 20:09, Aaron M. Brown wrote:
Changelog: --- v5: - Added xml tests to tests/qemuxmlconfdata - Fixed virito -> virtio typo in commit message --- v4: - Update commit messages --- v3: - Added Reviewed-By - Included CI Results Link --- v2: - Split patch into two commits - Added fixes tag ---
This libvirt patch series does the following: 1. fixes an issue with virtio console device port auto assignment on vioserial buses 2. updates console port reservation comment and changes the allowZero variable to allowPortZero for clarity 3. Adds tests for virtio console on the vioserial bus
Currently in libvirt, a virtio console device cannot be auto assigned a port number greater than zero on a vioserial bus. This leads to port collision errors when adding more than 1 virtio console device on a single vioserial bus.
After applying this patch, one can add multiple console ports under a single vioserial bus.
Here is a link to CI results for this series: https://gitlab.com/aaronbmalik/libvirt/-/pipelines/1855918840
Aaron M. Brown (3): qemuxmlconftest: Add console-virtio-vioserial tests virDomainVirtioSerialAddrAssign: Fix virtio console port auto assignment on vioserial bus domain_addr.c: update console port reservation comment and allowZero var to allowPortZero for clarity
src/conf/domain_addr.c | 27 +++++--- ...onsole-virtio-vioserial.x86_64-latest.args | 44 +++++++++++++ ...console-virtio-vioserial.x86_64-latest.xml | 63 +++++++++++++++++++ .../console-virtio-vioserial.xml | 48 ++++++++++++++ tests/qemuxmlconftest.c | 1 + 5 files changed, 173 insertions(+), 10 deletions(-) create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/console-virtio-vioserial.xml
-- 2.39.5 (Apple Git-154)

On Fri, Jun 06, 2025 at 08:57:31 -0400, Cam Miller wrote:
I see patch 3/3 as a reply in this email thread, but don't see 1 or 2. Is this problem only on my end, or did you forgot to send some of the patches in this version?
I did receive them via email and they are present in archives: Subject: [PATCH v5 1/3] qemuxmlconftest: Add console-virtio-vioserial tests Message-Id: <20250606000924.75241-2-aaronmbr@linux.ibm.com> Archived-At: <https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/BA2V2GHJ3W5SMYDRM66VP7W5ASQBZIYA/> Subject: [PATCH v5 2/3] virDomainVirtioSerialAddrAssign: Fix virtio console port auto assignment on vioserial bus Message-Id: <20250606000924.75241-3-aaronmbr@linux.ibm.com> Archived-At: <https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/67UBPOQS7X4YO46DHTMSRCOU33NICM74/>
participants (3)
-
Aaron M. Brown
-
Cam Miller
-
Peter Krempa