Persistent Failed to attach device following transient Failed to read product/vendor ID
Pighin, Anthony (Nokia - CA/Ottawa)
anthony.pighin at nokia.com
Wed Jul 20 15:11:51 UTC 2022
Correct, PCIe link bounce/flap. The attached PCIe device entered a failed state where it was repeatedly resetting, and therefore the link itself was going up and down.
-----Original Message-----
From: Michal Prívozník <mprivozn at redhat.com>
Sent: Wednesday, July 20, 2022 11:07 AM
To: Pighin, Anthony (Nokia - CA/Ottawa) <anthony.pighin at nokia.com>; libvir-list at redhat.com
Subject: Re: Persistent Failed to attach device following transient Failed to read product/vendor ID
On 7/11/22 20:14, Pighin, Anthony (Nokia - CA/Ottawa) wrote:
> I'm attempting to solve the issue reported here:
>
> https://gitlab.com/libvirt/libvirt/-/issues/345
>
> Hoping the originator of virHostdevDeleteMissingPCIDevices() will be able to comment, as I am still trying to reproduce the issue with additional debug in place.
>
> diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c
> index c0ce867596..d43354963e 100644
> --- a/src/hypervisor/virhostdev.c
> +++ b/src/hypervisor/virhostdev.c
> @@ -1101,11 +1101,11 @@ virHostdevReAttachPCIDevices(virHostdevManager *mgr,
> VIR_ERROR(_("Failed to allocate PCI device list: %s"),
> virGetLastErrorMessage());
> virResetLastError();
> - return;
> }
> -
> - virHostdevReAttachPCIDevicesImpl(mgr, drv_name, dom_name, pcidevs,
> - hostdevs, nhostdevs);
> + else {
> + virHostdevReAttachPCIDevicesImpl(mgr, drv_name, dom_name, pcidevs,
> + hostdevs, nhostdevs);
> + }
>
> /* Handle the case where PCI devices from the host went missing
> * during the domain lifetime */
>
Yeah, this looks like a correct fix, but I'm trying to understand the original problem more. In the gilab issue you mention 'link bounce' - do you mean PCIe link?
Michal
More information about the libvir-list
mailing list