virtio: PCI ERS permanent failure teardown for virtio-blk#963
virtio: PCI ERS permanent failure teardown for virtio-blk#963blktests-ci[bot] wants to merge 2 commits into
Conversation
|
Upstream branch: 062871f |
e48f9db to
199644a
Compare
|
Upstream branch: 5b33fc6 |
ce7af27 to
8f0260b
Compare
199644a to
e6d9eb8
Compare
|
Upstream branch: 66affa3 |
8f0260b to
f19ddd6
Compare
e6d9eb8 to
7d8604f
Compare
|
Upstream branch: bade58e |
f19ddd6 to
d87c3c6
Compare
7d8604f to
4cc45a3
Compare
|
Upstream branch: 4edcdef |
d87c3c6 to
6c3d71b
Compare
4cc45a3 to
90ffd56
Compare
|
Upstream branch: dc59e4f |
6c3d71b to
38e013b
Compare
90ffd56 to
d52f35a
Compare
|
Upstream branch: 87320be |
38e013b to
c4f32ff
Compare
d52f35a to
a644c13
Compare
virtio-pci only registered reset_prepare/reset_done. The PCI error recovery core treats devices without error_detected as NO_AER_DRIVER and does not deliver pci_channel_io_perm_failure to the driver after a failed recovery. Virtio devices therefore miss the normal ERS quiesce/teardown sequence. Register error_detected: quiesce on frozen (reset_prepare) before bus reset; on perm_failure break virtqueues and return DISCONNECT. Block-layer cleanup for virtio-blk is handled in the follow-up patch. Signed-off-by: Xixin Liu <liuxixin@kylinos.cn>
After ERS reports pci_channel_io_perm_failure, virtio-pci must ask the virtio driver to tear down the block device — not only mark virtqueues broken. Call the virtio driver shutdown hook from virtio-pci on perm_failure; virtio-blk implements shutdown with blk_mark_disk_dead(). Fail new requests early in virtio_queue_rq when the disk is dead or virtqueues were removed during frozen reset_prepare. Signed-off-by: Xixin Liu <liuxixin@kylinos.cn>
|
Upstream branch: 8cdeaa5 |
c4f32ff to
0a64d53
Compare
Pull request for series with
subject: virtio: PCI ERS permanent failure teardown for virtio-blk
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1111568