vhost-scsi: Use system wq to flush dev for TMFs
authorMike Christie <michael.christie@oracle.com>
Sat, 16 Mar 2024 00:47:01 +0000 (19:47 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 22 May 2024 12:31:15 +0000 (08:31 -0400)
commit59b701b99e2d01245b951325a8c3c12faa98d3ea
tree70e30fc68137f69d3277ab88d29da7175dfbc409
parent1eceddeeb6a9beb7ef2a22c176c03c5ff18c6386
vhost-scsi: Use system wq to flush dev for TMFs

We flush all the workers that are not also used by the ctl vq to make
sure that responses queued by LIO before the TMF response are sent
before the TMF response. This requires a special vhost_vq_flush
function which, in the next patches where we handle SIGKILL killing
workers while in use, will require extra locking/complexity. To avoid
that, this patch has us flush the entire device from the system work
queue, then queue up sending the response from there.

This is a little less optimal since we now flush all workers but this
will be ok since commands have already timed out and perf is not a
concern.

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