During device reset or similar situations a VirtQueueElement needs to be freed without pushing it onto the used ring or rewinding the virtqueue. Extract a new function to do this. Later patches add virtio_detach_element() calls to existing device so that scatter-gather lists are unmapped and vq->inuse goes back to zero during device reset. Currently some devices don't bother and simply call g_free(elem) which is not a clean way to throw away a VirtQueueElement. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Greg Kurz <groug@kaod.org> Reviewed-by: Ladi Prosek <lprosek@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
|---|---|---|
| .. | ||
| Makefile.objs | ||
| trace-events | ||
| vhost-backend.c | ||
| vhost-user.c | ||
| vhost-vsock.c | ||
| vhost.c | ||
| virtio-balloon.c | ||
| virtio-bus.c | ||
| virtio-mmio.c | ||
| virtio-pci.c | ||
| virtio-pci.h | ||
| virtio-rng.c | ||
| virtio.c | ||