When virtio vdpa device removed, the abnormal damage of the device cannot be
perceived normally, which will cause problems similar to:
Commit 43bb40c5b926 ("virtio_pci: Support surprise removal of
virtio pci device")
Hence, add the ability to abort the command on surprise removal
Signed-off-by: dongsheng li <[email protected]>
---
drivers/virtio/virtio_vdpa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
index f85f860bc10b..a5cebad09320 100644
--- a/drivers/virtio/virtio_vdpa.c
+++ b/drivers/virtio/virtio_vdpa.c
@@ -396,6 +396,7 @@ static void virtio_vdpa_remove(struct vdpa_device *vdpa)
{
struct virtio_vdpa_device *vd_dev = vdpa_get_drvdata(vdpa);
+ virtio_break_device(&vd_dev->vdev);
unregister_virtio_device(&vd_dev->vdev);
}
--
2.17.1
On Tue, Jan 11, 2022 at 02:55:27PM +0800, dongsheng li wrote:
> When virtio vdpa device removed, the abnormal damage of the device cannot be
> perceived normally, which will cause problems similar to:
>
> Commit 43bb40c5b926 ("virtio_pci: Support surprise removal of
> virtio pci device")
> Hence, add the ability to abort the command on surprise removal
>
> Signed-off-by: dongsheng li <[email protected]>
If you don't mkae changes you can carry forward acks.
> ---
> drivers/virtio/virtio_vdpa.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
> index f85f860bc10b..a5cebad09320 100644
> --- a/drivers/virtio/virtio_vdpa.c
> +++ b/drivers/virtio/virtio_vdpa.c
> @@ -396,6 +396,7 @@ static void virtio_vdpa_remove(struct vdpa_device *vdpa)
> {
> struct virtio_vdpa_device *vd_dev = vdpa_get_drvdata(vdpa);
>
> + virtio_break_device(&vd_dev->vdev);
My comment on graceful removal stands. E.g. a storage device
will want to flush out writes if possible not drop them.
> unregister_virtio_device(&vd_dev->vdev);
> }
>
> --
> 2.17.1