Commit e5e6b15b authored by Dongli Zhang's avatar Dongli Zhang Committed by Michael S. Tsirkin
Browse files

vhost-scsi: adjust vhost_scsi_get_desc() to log vring descriptors



Adjust vhost_scsi_get_desc() to facilitate logging of vring descriptors.

Add new arguments to allow passing the log buffer and length to
vhost_get_vq_desc().

In addition, reset 'log_num' since vhost_get_vq_desc() may reset it only
after certain condition checks.

Suggested-by: default avatarJoao Martins <joao.m.martins@oracle.com>
Signed-off-by: default avatarDongli Zhang <dongli.zhang@oracle.com>
Reviewed-by: default avatarMike Christie <michael.christie@oracle.com>
Message-Id: <20250403063028.16045-6-dongli.zhang@oracle.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 41cff026
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1063,13 +1063,17 @@ vhost_scsi_send_bad_target(struct vhost_scsi *vs,

static int
vhost_scsi_get_desc(struct vhost_scsi *vs, struct vhost_virtqueue *vq,
		    struct vhost_scsi_ctx *vc)
		    struct vhost_scsi_ctx *vc,
		    struct vhost_log *log, unsigned int *log_num)
{
	int ret = -ENXIO;

	if (likely(log_num))
		*log_num = 0;

	vc->head = vhost_get_vq_desc(vq, vq->iov,
				     ARRAY_SIZE(vq->iov), &vc->out, &vc->in,
				     NULL, NULL);
				     log, log_num);

	pr_debug("vhost_get_vq_desc: head: %d, out: %u in: %u\n",
		 vc->head, vc->out, vc->in);
@@ -1237,7 +1241,7 @@ vhost_scsi_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq)
	vhost_disable_notify(&vs->dev, vq);

	do {
		ret = vhost_scsi_get_desc(vs, vq, &vc);
		ret = vhost_scsi_get_desc(vs, vq, &vc, NULL, NULL);
		if (ret)
			goto err;

@@ -1581,7 +1585,7 @@ vhost_scsi_ctl_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq)
	vhost_disable_notify(&vs->dev, vq);

	do {
		ret = vhost_scsi_get_desc(vs, vq, &vc);
		ret = vhost_scsi_get_desc(vs, vq, &vc, NULL, NULL);
		if (ret)
			goto err;