summaryrefslogtreecommitdiffstats
path: root/drivers/vhost/vhost.c
diff options
context:
space:
mode:
authorMike Christie <michael.christie@oracle.com>2020-11-09 23:33:19 -0600
committerMichael S. Tsirkin <mst@redhat.com>2020-11-15 17:30:54 -0500
commit6bcf34224ac1e94103797fd68b9836061762f2b2 (patch)
tree9be5121f1c876cda5b7172a121820a25fd65d153 /drivers/vhost/vhost.c
parenta312db697cb05dfa781848afe8585a1e1f2a5a99 (diff)
downloadlinux-6bcf34224ac1e94103797fd68b9836061762f2b2.tar.gz
linux-6bcf34224ac1e94103797fd68b9836061762f2b2.tar.bz2
linux-6bcf34224ac1e94103797fd68b9836061762f2b2.zip
vhost: add helper to check if a vq has been setup
This adds a helper check if a vq has been setup. The next patches will use this when we move the vhost scsi cmd preallocation from per session to per vq. In the per vq case, we only want to allocate cmds for vqs that have actually been setup and not for all the possible vqs. Signed-off-by: Mike Christie <michael.christie@oracle.com> Link: https://lore.kernel.org/r/1604986403-4931-2-git-send-email-michael.christie@oracle.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'drivers/vhost/vhost.c')
-rw-r--r--drivers/vhost/vhost.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 5c835a292783..a262e12c6dc2 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -304,6 +304,12 @@ static void vhost_vring_call_reset(struct vhost_vring_call *call_ctx)
memset(&call_ctx->producer, 0x0, sizeof(struct irq_bypass_producer));
}
+bool vhost_vq_is_setup(struct vhost_virtqueue *vq)
+{
+ return vq->avail && vq->desc && vq->used && vhost_vq_access_ok(vq);
+}
+EXPORT_SYMBOL_GPL(vhost_vq_is_setup);
+
static void vhost_vq_reset(struct vhost_dev *dev,
struct vhost_virtqueue *vq)
{