Bug 2105231
Summary: | [MT2910] XML error: Invalid value for attribute 'speed' in element 'link': '(null)'. | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | Yanghang Liu <yanghliu> | |
Component: | libvirt | Assignee: | Michal Privoznik <mprivozn> | |
libvirt sub component: | CLI & API | QA Contact: | yalzhang <yalzhang> | |
Status: | CLOSED ERRATA | Docs Contact: | ||
Severity: | medium | |||
Priority: | medium | CC: | chayang, gveitmic, jdenemar, lmen, mprivozn, virt-maint, xuzhang, yalzhang, ymankad | |
Version: | 9.1 | Keywords: | Triaged, Upstream, ZStream | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | x86_64 | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | libvirt-8.5.0-2.el9 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 2168116 2170235 (view as bug list) | Environment: | ||
Last Closed: | 2022-11-15 10:04:39 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 2170235 |
Description
Yanghang Liu
2022-07-08 10:10:36 UTC
This is because when reading the PCI config of a device (e.g. "/sys/bus/pci/devices/0000:00:1c.0/config") libvirt finds a field that corresponds to the speed (which is effectively an enum) and then uses internal enum -> string conversion. And simply, our internals do not expect 32GT/s speed. Posted onto the list: https://listman.redhat.com/archives/libvir-list/2022-July/232737.html Merged upstream as: commit d33c2a9e2f933b31f8e96e9938c237bdffe27f84 Author: Michal Prívozník <mprivozn> AuthorDate: Fri Jul 8 14:29:32 2022 +0200 Commit: Michal Prívozník <mprivozn> CommitDate: Tue Jul 12 09:07:45 2022 +0200 vircpi: Add PCIe 5.0 and 6.0 link speeds The PCIe 5.0 and PCIe 6.0 standards define new link speeds: 32GT/s and 64GT/s, respectively. Update our internal enum to include these new speeds. Otherwise we format incorrect XML: <pci-express> <link validity='cap' port='0' speed='(null)' width='16'/> <link validity='sta' speed='16' width='16'/> </pci-express> Like all "good" specifications, these are also locked behind a login portal. But we can look at pciutils' source code: [1] and [2]. 1: https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/ls-caps.c?id=caca31a0eea41c7b051705704c1158fddc02fbd2 2: https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/ls-caps.c?id=5bdf63b6b1bc35b59c4b3f47f7ca83ca1868155b Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2105231 Signed-off-by: Michal Privoznik <mprivozn> Reviewed-by: Ján Tomko <jtomko> v8.5.0-78-gd33c2a9e2f All patches pushed after 8.5.0 upstream release need to be backported to make it into RHEL 9.1.0. To POST: https://gitlab.com/redhat/rhel/src/libvirt/-/merge_requests/35 https://kojihub.stream.rdu2.redhat.com/koji/taskinfo?taskID=1293360 Reproduce it on libvirt-8.5.0-1.el9.x86_64 # virsh nodedev-dumpxml pci_0000_17_00_0 | grep speed <link validity='cap' port='0' speed='(null)' width='16'/> <link validity='sta' speed='16' width='16'/> Update libvirt to libvirt-8.5.0-2.el9.x86_64, restart all the active virt* services, check again, the bug is fixed. # virsh nodedev-dumpxml pci_0000_17_00_0 | grep speed <link validity='cap' port='0' speed='32' width='16'/> <link validity='sta' speed='16' width='16'/> verified per comment 6 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Low: libvirt security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:8003 |