vhost_scsi: convert to vhost_vq_work_queue
authorMike Christie <michael.christie@oracle.com>
Mon, 26 Jun 2023 23:23:00 +0000 (18:23 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 3 Jul 2023 16:15:13 +0000 (12:15 -0400)
Convert from vhost_work_queue to vhost_vq_work_queue so we can
remove vhost_work_queue.

Signed-off-by: Mike Christie <michael.christie@oracle.com>
Message-Id: <20230626232307.97930-11-michael.christie@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/scsi.c

index a77c53b..1668009 100644 (file)
@@ -353,8 +353,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);
@@ -1332,11 +1333,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;
 
@@ -1358,7 +1357,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)
@@ -1372,7 +1371,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);
 }
@@ -1991,7 +1991,7 @@ vhost_scsi_do_plug(struct vhost_scsi_tpg *tpg,
                goto unlock;
 
        if (vhost_has_feature(vq, VIRTIO_SCSI_F_HOTPLUG))
-               vhost_scsi_send_evt(vs, tpg, lun,
+               vhost_scsi_send_evt(vs, vq, tpg, lun,
                                   VIRTIO_SCSI_T_TRANSPORT_RESET, reason);
 unlock:
        mutex_unlock(&vq->mutex);