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: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Michael S. Tsirkin 2013-04-28 15:38:52 +03:00
parent 2839400f8f
commit 3dfbff328f
1 changed files with 10 additions and 2 deletions

View File

@ -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];