On Mon, Jun 15, 2026 at 10:00:00AM +0800, Xixin Liu wrote: > Hi, > > This series adds proper PCI AER error recovery handling for virtio-pci and > completes virtio-blk teardown when ERS reports pci_channel_io_perm_failure. CCing Parav because he previously looked at surprise removal: https://lore.kernel.org/virtualization/20250822091706.21170-1-parav@nvidia.com/ > > virtio-pci only registered reset_prepare/reset_done. The recovery core > treats devices without error_detected as NO_AER_DRIVER and does not > deliver perm_failure to the driver after a failed recovery. When bus > reset fails (reproduced on QEMU with DLLLA not set within 100 ms after > secondary bus reset), virtio-blk disks stay live even though virtqueues > may already have been torn down during the frozen phase. > > Patch 1 registers error_detected (frozen quiesce + perm_failure notify). > Patch 2 calls the virtio driver shutdown hook from virtio-pci on > perm_failure, implements virtio-blk shutdown with blk_mark_disk_dead(), > and fail-fast guards in virtio_queue_rq. > > Thanks, > Xixin Liu > > --- > > Xixin Liu (2): > virtio-pci: add error_detected for PCI AER recovery > virtio-blk: mark disk dead on ERS permanent failure > > drivers/block/virtio_blk.c | 39 +++++++++++++++++++++++++++++++ > drivers/virtio/virtio_pci_common.c | 47 ++++++++++++++++++++++++++++++++++ > 2 files changed, 85 insertions(+) > > -- > 2.43.0 >