[PATCH v3 0/2] virtio: PCI AER error_detected and virtio-blk shutdown

Xixin Liu <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,dev.linux.lists.virtualization,org.kernel.vger.linux-block
Message-ID <[email protected]>
Hi,

This series fills in missing PCI AER callbacks on virtio-pci, and adds
matching virtio-blk pieces for queue_rq after VQ removal plus
system-shutdown teardown.

virtio-pci only registered reset_prepare/reset_done.  Without
.error_detected the recovery core votes NO_AER_DRIVER on the first
broadcast, and report_perm_failure_detected skips the driver callback
whenever overall status is not RECOVERED.  Patch 1 registers
.error_detected and .slot_reset: frozen/unknown call
virtio_device_reset_prepare() then NEED_RESET; after a successful PCI
reset, slot_reset restores config and calls virtio_device_reset_done();
perm_failure only virtio_break_device() and DISCONNECT.  AER bus reset
via pci_bus_error_reset does not invoke .reset_prepare, so quiesce and
restore for that path live in error_detected and slot_reset.  The
existing .reset_prepare and .reset_done still serve FLR.

Patch 2 fails new requests early in virtio_queue_rq when vqs were
removed during frozen reset_prepare.  It also registers
virtio_driver.shutdown for reboot and poweroff via virtio_dev_shutdown,
with freeze-before-break reclaim and blk_mark_disk_dead().

Changes since v2, thanks to Michael for the review:
- perm_failure: only virtio_break_device()
- default and frozen share one quiesce then NEED_RESET path
- Add .slot_reset to restore after successful AER PCI reset
- Drop PCI common to drv->shutdown wiring; virtio-blk .shutdown for
  system shutdown via virtio_dev_shutdown

Based on linux-next next-20260730.

Thanks,
Xixin Liu
---
Xixin Liu (2):
  virtio-pci: add error_detected and slot_reset for AER
  virtio-blk: add shutdown and fail queue_rq after VQ teardown

 drivers/block/virtio_blk.c         | 36 ++++++++++++++++++++++++++++++
 drivers/virtio/virtio_pci_common.c | 53 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+)

-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.