Convert from vhost dev based helpers to vq ones.

Signed-off-by: Mike Christie <michael.chris...@oracle.com>
---
 drivers/vhost/scsi.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index 0d85ddb68420..08beba73ada4 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -361,8 +361,9 @@ static void vhost_scsi_release_cmd(struct se_cmd *se_cmd)
        if (se_cmd->se_cmd_flags & SCF_SCSI_TMR_CDB) {
                struct vhost_scsi_tmf *tmf = container_of(se_cmd,
                                        struct vhost_scsi_tmf, se_cmd);
+               struct vhost_virtqueue *vq = &tmf->svq->vq;
 
-               vhost_work_queue(&tmf->vhost->dev, &tmf->vwork);
+               vhost_vq_work_queue(vq, &tmf->vwork);
        } else {
                struct vhost_scsi_cmd *cmd = container_of(se_cmd,
                                        struct vhost_scsi_cmd, tvc_se_cmd);
@@ -1360,11 +1361,9 @@ static void vhost_scsi_ctl_handle_kick(struct vhost_work 
*work)
 }
 
 static void
-vhost_scsi_send_evt(struct vhost_scsi *vs,
-                  struct vhost_scsi_tpg *tpg,
-                  struct se_lun *lun,
-                  u32 event,
-                  u32 reason)
+vhost_scsi_send_evt(struct vhost_scsi *vs, struct vhost_virtqueue *vq,
+                   struct vhost_scsi_tpg *tpg, struct se_lun *lun,
+                   u32 event, u32 reason)
 {
        struct vhost_scsi_evt *evt;
 
@@ -1386,7 +1385,7 @@ vhost_scsi_send_evt(struct vhost_scsi *vs,
        }
 
        llist_add(&evt->list, &vs->vs_event_list);
-       vhost_work_queue(&vs->dev, &vs->vs_event_work);
+       vhost_vq_work_queue(vq, &vs->vs_event_work);
 }
 
 static void vhost_scsi_evt_handle_kick(struct vhost_work *work)
@@ -1400,7 +1399,8 @@ static void vhost_scsi_evt_handle_kick(struct vhost_work 
*work)
                goto out;
 
        if (vs->vs_events_missed)
-               vhost_scsi_send_evt(vs, NULL, NULL, VIRTIO_SCSI_T_NO_EVENT, 0);
+               vhost_scsi_send_evt(vs, vq, NULL, NULL, VIRTIO_SCSI_T_NO_EVENT,
+                                   0);
 out:
        mutex_unlock(&vq->mutex);
 }
@@ -1428,11 +1428,10 @@ static void vhost_scsi_flush(struct vhost_scsi *vs)
         * indicate the start of the flush operation so that it will reach 0
         * when all the reqs are finished.
         */
-       for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
+       for (i = 0; i < VHOST_SCSI_MAX_VQ; i++) {
                kref_put(&old_inflight[i]->kref, vhost_scsi_done_inflight);
-
-       /* Flush both the vhost poll and vhost work */
-       vhost_work_dev_flush(&vs->dev);
+               vhost_vq_work_flush(&vs->vqs[i].vq);
+       }
 
        /* Wait for all reqs issued before the flush to be finished */
        for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
@@ -1967,8 +1966,8 @@ vhost_scsi_do_plug(struct vhost_scsi_tpg *tpg,
        vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq;
        mutex_lock(&vq->mutex);
        if (vhost_has_feature(vq, VIRTIO_SCSI_F_HOTPLUG))
-               vhost_scsi_send_evt(vs, tpg, lun,
-                                  VIRTIO_SCSI_T_TRANSPORT_RESET, reason);
+               vhost_scsi_send_evt(vs, vq, tpg, lun,
+                                   VIRTIO_SCSI_T_TRANSPORT_RESET, reason);
        mutex_unlock(&vq->mutex);
        mutex_unlock(&vs->dev.mutex);
 }
-- 
2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to