On 30/10/20 09:51, Michael S. Tsirkin wrote: > On Wed, Oct 21, 2020 at 07:34:55PM -0500, Mike Christie wrote: >> We might not do the final se_cmd put from vhost_scsi_complete_cmd_work. >> When the last put happens a little later then we could race where >> vhost_scsi_complete_cmd_work does vhost_signal, the guest runs and sends >> more IO, and vhost_scsi_handle_vq runs but does not find any free cmds. >> >> This patch has us delay completing the cmd until the last lio core ref >> is dropped. We then know that once we signal to the guest that the cmd >> is completed that if it queues a new command it will find a free cmd. >> >> Signed-off-by: Mike Christie <michael.christie@xxxxxxxxxx> > > Paolo, could you review this one? I don't know how LIO does all the callbacks, honestly (I have only ever worked on the virtio-scsi driver, not vhost-scsi, and I have only ever reviewed some virtio-scsi spec bits of vhost-scsi). The vhost_scsi_complete_cmd_work parts look fine, but I have no idea why vhost_scsi_queue_data_in and vhost_scsi_queue_status call. Paolo