From nobody Fri May 10 19:35:23 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1711555543193992.8628086219668; Wed, 27 Mar 2024 09:05:43 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id AE9F81F73; Wed, 27 Mar 2024 12:05:41 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 553641DF6; Wed, 27 Mar 2024 12:04:32 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id C4C4F1D9C; Wed, 27 Mar 2024 12:04:28 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 12A691D9C for ; Wed, 27 Mar 2024 12:04:28 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-517-h4UEer6XOcSxgmm55MAzOg-1; Wed, 27 Mar 2024 12:04:26 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C0266185A789 for ; Wed, 27 Mar 2024 16:04:25 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.6]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2A7773C20 for ; Wed, 27 Mar 2024 16:04:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: h4UEer6XOcSxgmm55MAzOg-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 1/3] virpcivpd: Revert error reporting from PCI VPD parser Date: Wed, 27 Mar 2024 17:04:03 +0100 Message-ID: <7ebe604fd5423911e2b1eeb111ac27b46ace7326.1711554455.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: UTBDXGQC4R4RD5R4EJ6E77OQL6EA7KT5 X-Message-ID-Hash: UTBDXGQC4R4RD5R4EJ6E77OQL6EA7KT5 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1711555544507100001 The VPD parsing is fragile and depends on hardware vendor's adherance to standards. Since libvirt only ever uses this data to report it in the nodedev XML which ignores any errors there's no much point in having error reporting which I've added recently. Turn the errors into VIR_DEBUG statements in preparation for upcoming patch which completely removes the expectation to report errors. This effectively reverts commits dfc85658bd0 and f85a382a0e7. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- po/POTFILES | 1 - src/util/virpci.c | 8 ++++++- src/util/virpcivpd.c | 50 ++++++++++++++++++-------------------------- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/po/POTFILES b/po/POTFILES index 428919815d..6fbff4bef2 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -313,7 +313,6 @@ src/util/virnuma.c src/util/virnvme.c src/util/virobject.c src/util/virpci.c -src/util/virpcivpd.c src/util/virperf.c src/util/virpidfile.c src/util/virpolkit.c diff --git a/src/util/virpci.c b/src/util/virpci.c index 780b4f9eec..8becec4aa5 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -3104,6 +3104,7 @@ virPCIVPDResource * virPCIDeviceGetVPD(virPCIDevice *dev) { g_autofree char *vpdPath =3D virPCIFile(dev->name, "vpd"); + virPCIVPDResource *ret =3D NULL; VIR_AUTOCLOSE fd =3D -1; if (!virPCIDeviceHasVPD(dev)) { @@ -3117,7 +3118,12 @@ virPCIDeviceGetVPD(virPCIDevice *dev) return NULL; } - return virPCIVPDParse(fd); + if (!(ret =3D virPCIVPDParse(fd))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to parse de= vice VPD data")); + return NULL; + } + + return ret; } #else diff --git a/src/util/virpcivpd.c b/src/util/virpcivpd.c index 16df468875..02d405f038 100644 --- a/src/util/virpcivpd.c +++ b/src/util/virpcivpd.c @@ -361,9 +361,9 @@ virPCIVPDResourceUpdateKeyword(virPCIVPDResource *res, * @offset: The offset at which bytes need to be read. * @csum: A pointer to a byte containing the current checksum value. Mutat= ed by this function. * - * Returns 0 if exactly @count bytes were read from @vpdFileFd. The csum v= alue is - * also modified as bytes are read. If an error occurs while reading data = from the VPD file - * descriptor, it is reported and -1 is returned to the caller. + * Returns 0 if exactly @count bytes were read from @vpdFileFd. The csum v= alue + * is also modified as bytes are read. If an error occurs while reading da= ta + * from the VPD file descriptor -1 is returned to the caller. */ static int virPCIVPDReadVPDBytes(int vpdFileFd, @@ -375,8 +375,7 @@ virPCIVPDReadVPDBytes(int vpdFileFd, ssize_t numRead =3D pread(vpdFileFd, buf, count, offset); if (numRead !=3D count) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data")); + VIR_DEBUG("read=3D'%zd' expected=3D'%zu'", numRead, count); return -1; } @@ -447,8 +446,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, case VIR_PCI_VPD_RESOURCE_FIELD_VALUE_FORMAT_RDWR: if (readOnly) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: une= xpected RW keyword in read-only section")); + VIR_DEBUG("unexpected RW keyword in read-only section"= ); return -1; } @@ -457,8 +455,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, case VIR_PCI_VPD_RESOURCE_FIELD_VALUE_FORMAT_RESVD: if (!readOnly) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: une= xpected RV keyword in read-write section")); + VIR_DEBUG("unexpected RV keyword in read-write section= "); return -1; } /* Only need one byte to be read and accounted towards @@ -477,8 +474,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, if (resPos + resDataLen < fieldPos + fieldDataLen) { /* In this case the field cannot simply be skipped since the p= osition of the * next field is determined based on the length of a previous = field. */ - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: data field = length invalid")); + VIR_DEBUG("data field length invalid"); return -1; } @@ -517,8 +513,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, case VIR_PCI_VPD_RESOURCE_FIELD_VALUE_FORMAT_RESVD: if (*csum) { /* All bytes up to and including the checksum byte sho= uld add up to 0. */ - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: inv= alid checksum")); + VIR_DEBUG("invalid checksum"); return -1; } hasChecksum =3D true; @@ -546,14 +541,12 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, * they were not the last fields in the section. */ if ((fieldPos < resPos + resDataLen)) { /* unparsed data still present */ - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: parsing ended p= rematurely")); + VIR_DEBUG("parsing ended prematurely"); return -1; } if (readOnly && !hasChecksum) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: missing mandato= ry checksum")); + VIR_DEBUG("missing mandatory checksum"); return -1; } @@ -568,7 +561,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd, * @resDataLen: A length of the data portion of a resource. * @csum: A pointer to a 1-byte checksum. * - * Returns: 0 on success -1 and an error on failure + * Returns: 0 on success -1 on failure. No libvirt errors are reported. */ static int virPCIVPDParseVPDLargeResourceString(int vpdFileFd, uint16_t resPos, @@ -584,8 +577,7 @@ virPCIVPDParseVPDLargeResourceString(int vpdFileFd, uin= t16_t resPos, resValue =3D g_strdup(g_strstrip(buf)); if (!virPCIVPDResourceIsValidTextValue(resValue)) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to parse PCI VPD string value with invali= d characters")); + VIR_DEBUG("PCI VPD string contains invalid characters"); return -1; } res->name =3D g_steal_pointer(&resValue); @@ -599,7 +591,7 @@ virPCIVPDParseVPDLargeResourceString(int vpdFileFd, uin= t16_t resPos, * Parse a PCI device's Vital Product Data (VPD) contained in a file descr= iptor. * * Returns: a pointer to a GList of VPDResource types which needs to be fr= eed by the caller or - * NULL if getting it failed for some reason. + * NULL if getting it failed for some reason. No libvirt errors are report= ed. */ virPCIVPDResource * virPCIVPDParse(int vpdFileFd) @@ -629,7 +621,8 @@ virPCIVPDParse(int vpdFileFd) if (tag & PCI_VPD_LARGE_RESOURCE_FLAG) { if (resPos > PCI_VPD_ADDR_MASK + 1 - 3) { /* Bail if the large resource starts at the position where= the end tag should be. */ - goto malformed; + VIR_DEBUG("expected end tag, got more data"); + return NULL; } /* Read the two length bytes of the large resource record. */ @@ -652,8 +645,7 @@ virPCIVPDParse(int vpdFileFd) if (tag =3D=3D PCI_VPD_RESOURCE_END_TAG) { /* Stop VPD traversal since the end tag was encountered. */ if (!hasReadOnly) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: missing= read-only section")); + VIR_DEBUG("missing read-only section"); return NULL; } @@ -662,7 +654,8 @@ virPCIVPDParse(int vpdFileFd) if (resDataLen > PCI_VPD_ADDR_MASK + 1 - resPos) { /* Bail if the resource is too long to fit into the VPD addres= s space. */ - goto malformed; + VIR_DEBUG("VPD resource too long"); + return NULL; } switch (tag) { @@ -698,9 +691,7 @@ virPCIVPDParse(int vpdFileFd) resPos +=3D resDataLen; } - malformed: - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("failed to read the PCI VPD data: malformed data")); + VIR_DEBUG("unexpected end of VPD data, expected end tag"); return NULL; } @@ -709,8 +700,7 @@ virPCIVPDParse(int vpdFileFd) virPCIVPDResource * virPCIVPDParse(int vpdFileFd G_GNUC_UNUSED) { - virReportError(VIR_ERR_NO_SUPPORT, "%s", - _("PCI VPD reporting not available on this platform")); + VIR_DEBUG("not implemented"); return NULL; } --=20 2.44.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Fri May 10 19:35:23 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1711555679383836.9101499658485; Wed, 27 Mar 2024 09:07:59 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 14D2E1DFE; Wed, 27 Mar 2024 12:07:58 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B5AFA211F; Wed, 27 Mar 2024 12:04:41 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id ED2FD1E43; Wed, 27 Mar 2024 12:04:32 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0BD6C1D9C for ; Wed, 27 Mar 2024 12:04:29 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-628-xSirY5uXOCe4lPdDKDa91g-1; Wed, 27 Mar 2024 12:04:26 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A828784B162 for ; Wed, 27 Mar 2024 16:04:26 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.6]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1E6C73C20 for ; Wed, 27 Mar 2024 16:04:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: xSirY5uXOCe4lPdDKDa91g-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 2/3] pci: Remove error reporting from PCI VPD parsing Date: Wed, 27 Mar 2024 17:04:04 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: INZGNFJFNDMXUR5UQR5TNGPWMTQFDK4D X-Message-ID-Hash: INZGNFJFNDMXUR5UQR5TNGPWMTQFDK4D X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1711555680405100001 The PCI VPD (Vital Product Data) may be missing or the kernel can report presence but not actually have the data. Also the data is specified by the device vendor and thus may be invalid in some cases. To avoid log spamming, since the only usage in the node device driver is ignoring errors, remove all error reporting. Closes: https://gitlab.com/libvirt/libvirt/-/issues/607 Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/node_device_conf.c | 13 +++++------- src/libvirt_private.syms | 1 - src/util/virpci.c | 41 +++++++------------------------------ src/util/virpci.h | 1 - 4 files changed, 12 insertions(+), 44 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 48140b17ba..32b69aae84 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -3066,15 +3066,12 @@ virNodeDeviceGetPCIVPDDynamicCap(virNodeDevCapPCIDe= v *devCapPCIDev) if (!(pciDev =3D virPCIDeviceNew(&devAddr))) return -1; - if (virPCIDeviceHasVPD(pciDev)) { - /* VPD is optional in PCI(e) specs. If it is there, attempt to add= it. */ - if ((res =3D virPCIDeviceGetVPD(pciDev))) { - devCapPCIDev->flags |=3D VIR_NODE_DEV_CAP_FLAG_PCI_VPD; - devCapPCIDev->vpd =3D g_steal_pointer(&res); - } else { - virResetLastError(); - } + /* VPD is optional in PCI(e) specs. If it is there, attempt to add it.= */ + if ((res =3D virPCIDeviceGetVPD(pciDev))) { + devCapPCIDev->flags |=3D VIR_NODE_DEV_CAP_FLAG_PCI_VPD; + devCapPCIDev->vpd =3D g_steal_pointer(&res); } + return 0; } diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6b6bcc368a..84e30b711c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -3107,7 +3107,6 @@ virPCIDeviceGetUnbindFromStub; virPCIDeviceGetUsedBy; virPCIDeviceGetVPD; virPCIDeviceHasPCIExpressLink; -virPCIDeviceHasVPD; virPCIDeviceIsAssignable; virPCIDeviceIsPCIExpress; virPCIDeviceListAdd; diff --git a/src/util/virpci.c b/src/util/virpci.c index 8becec4aa5..1582c8b9ab 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -3078,24 +3078,14 @@ virPCIGetVirtualFunctionInfo(const char *vf_sysfs_d= evice_path, } -bool -virPCIDeviceHasVPD(virPCIDevice *dev) -{ - g_autofree char *vpdPath =3D virPCIFile(dev->name, "vpd"); - bool ret =3D virFileIsRegular(vpdPath); - - VIR_DEBUG("path=3D'%s', exists=3D'%d'", vpdPath, ret); - - return ret; -} - /** * virPCIDeviceGetVPD: * @dev: a PCI device to get a PCI VPD for. * * Obtain a PCI device's Vital Product Data (VPD). VPD is optional in * both PCI Local Bus and PCIe specifications so there is no guarantee it - * will be there for a particular device. + * will be there for a particular device. The VPD data is returned in @vpd= if + * it's available or otherwise NULL is set. * * Returns: a pointer to virPCIVPDResource which needs to be freed by the = caller * or NULL if getting it failed for some reason (e.g. invalid format, I/O = error). @@ -3104,26 +3094,16 @@ virPCIVPDResource * virPCIDeviceGetVPD(virPCIDevice *dev) { g_autofree char *vpdPath =3D virPCIFile(dev->name, "vpd"); - virPCIVPDResource *ret =3D NULL; VIR_AUTOCLOSE fd =3D -1; - if (!virPCIDeviceHasVPD(dev)) { - virReportError(VIR_ERR_INTERNAL_ERROR, _("Device %1$s does not hav= e a VPD"), - virPCIDeviceGetName(dev)); - return NULL; - } + fd =3D open(vpdPath, O_RDONLY); - if ((fd =3D open(vpdPath, O_RDONLY)) < 0) { - virReportSystemError(errno, _("Failed to open a VPD file '%1$s'"),= vpdPath); - return NULL; - } + VIR_DEBUG("dev=3D'%s' path=3D'%s' fd=3D'%d'", virPCIDeviceGetName(dev)= , vpdPath, fd); - if (!(ret =3D virPCIVPDParse(fd))) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to parse de= vice VPD data")); - return NULL; - } + if (fd < 0) + return 0; - return ret; + return virPCIVPDParse(fd); } #else @@ -3200,17 +3180,10 @@ virPCIGetVirtualFunctionInfo(const char *vf_sysfs_d= evice_path G_GNUC_UNUSED, return -1; } -bool -virPCIDeviceHasVPD(virPCIDevice *dev G_GNUC_UNUSED) -{ - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _(unsupported)); - return NULL; -} virPCIVPDResource * virPCIDeviceGetVPD(virPCIDevice *dev G_GNUC_UNUSED) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _(unsupported)); return NULL; } #endif /* __linux__ */ diff --git a/src/util/virpci.h b/src/util/virpci.h index a5bfe9c35d..ba5e0ae6f1 100644 --- a/src/util/virpci.h +++ b/src/util/virpci.h @@ -270,7 +270,6 @@ int virPCIGetVirtualFunctionInfo(const char *vf_sysfs_d= evice_path, char **pfname, int *vf_index); -bool virPCIDeviceHasVPD(virPCIDevice *dev); virPCIVPDResource * virPCIDeviceGetVPD(virPCIDevice *dev); int virPCIDeviceUnbind(virPCIDevice *dev); --=20 2.44.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Fri May 10 19:35:23 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1711555620634488.74854348956774; Wed, 27 Mar 2024 09:07:00 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 7F1341EEF; Wed, 27 Mar 2024 12:06:59 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id BFAFD1EF2; Wed, 27 Mar 2024 12:04:35 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 3674C1DFE; Wed, 27 Mar 2024 12:04:31 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BEBF11DE4 for ; Wed, 27 Mar 2024 12:04:30 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-322-EqaWOcVQOF2LlIc9ydFBMQ-1; Wed, 27 Mar 2024 12:04:27 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8EF921C0BB49 for ; Wed, 27 Mar 2024 16:04:27 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.6]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0805C3C20 for ; Wed, 27 Mar 2024 16:04:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: EqaWOcVQOF2LlIc9ydFBMQ-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 3/3] NEWS: Mention fix for PCI VPD error reporting Date: Wed, 27 Mar 2024 17:04:05 +0100 Message-ID: <41d4719cf97bf2c56f5fa018730b41fc866117a7.1711554455.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: QL2HQR2DO7DHKM24SX7BSOVLKTTFKFJS X-Message-ID-Hash: QL2HQR2DO7DHKM24SX7BSOVLKTTFKFJS X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1711555622174100001 Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- NEWS.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/NEWS.rst b/NEWS.rst index ef9e312698..05fd9e3194 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -52,6 +52,17 @@ v10.2.0 (unreleased) releases to 10.2.0 works as well, but the other direction remains brok= en unless the fix is backported. + * node_device: Don't report spurious errors from PCI VPD parsing + + In last release the PCI Vital Product Data parser was enhanced to repo= rt + errors but that effort failed as some kernels have the file but don't = allow + reading it causing logs to be spammed with:: + + libvirtd[21055]: operation failed: failed to read the PCI VPD data + + Since the data is used only in the node device XML and errors are igno= red if + the parsing failed, this release removes all the error reporting. + v10.1.0 (2024-03-01) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --=20 2.44.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org