mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-19 08:02:15 -06:00
virtio: introduce virtqueue_discard()
This patch introduces virtqueue_discard() to discard a descriptor and unmap the sgs. This will be used by the patch that will discard descriptor when packet is truncated. Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
ce31746157
commit
29b9f5efd7
2 changed files with 9 additions and 0 deletions
|
@ -267,6 +267,13 @@ static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
0, elem->out_sg[i].iov_len);
|
0, elem->out_sg[i].iov_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
|
unsigned int len)
|
||||||
|
{
|
||||||
|
vq->last_avail_idx--;
|
||||||
|
virtqueue_unmap_sg(vq, elem, len);
|
||||||
|
}
|
||||||
|
|
||||||
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
unsigned int len, unsigned int idx)
|
unsigned int len, unsigned int idx)
|
||||||
{
|
{
|
||||||
|
|
|
@ -146,6 +146,8 @@ void virtio_del_queue(VirtIODevice *vdev, int n);
|
||||||
void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
|
void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
unsigned int len);
|
unsigned int len);
|
||||||
void virtqueue_flush(VirtQueue *vq, unsigned int count);
|
void virtqueue_flush(VirtQueue *vq, unsigned int count);
|
||||||
|
void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
|
unsigned int len);
|
||||||
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||||
unsigned int len, unsigned int idx);
|
unsigned int len, unsigned int idx);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue