Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dfbff32 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

tcm_vhost: document inflight ref-counting use



Add more comments so we remember not to break it
next time we change things.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 2839400f
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -83,9 +83,16 @@ struct vhost_scsi_inflight {

struct vhost_scsi_virtqueue {
	struct vhost_virtqueue vq;
	/* Track inflight reqs, protected by vq->mutex */
	/*
	 * Reference counting for inflight reqs, used for flush operation. At
	 * each time, one reference tracks new commands submitted, while we
	 * wait for another one to reach 0.
	 */
	struct vhost_scsi_inflight inflights[2];
	/* Indicate current inflight in use, protected by vq->mutex */
	/*
	 * Indicate current inflight in use, protected by vq->mutex.
	 * Writers must also take dev mutex and flush under it.
	 */
	int inflight_idx;
};

@@ -1015,6 +1022,7 @@ static void vhost_scsi_flush_vq(struct vhost_scsi *vs, int index)
	vhost_poll_flush(&vs->vqs[index].vq.poll);
}

/* Callers must hold dev mutex */
static void vhost_scsi_flush(struct vhost_scsi *vs)
{
	struct vhost_scsi_inflight *old_inflight[VHOST_SCSI_MAX_VQ];