The following patches were made over Michael's vhost branch: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git/log/?h=vhost They fixe a couple issues where the guest is getting IO errors: 1. The admin may set num_queues and cmd_per_lun/virtqueue_size in a way that allows the guest to send more IO that vhost-scsi was coded for. 2. A race where vhost-scsi completes the cmd to the guest before it's fully completed in the target/vhost-scsi layers so if the guest sends a new IO too quicky we fail it. 3. If the real/physical storage (lio backend device) hits a transient error then vhost-scsi would fail commands instead of relying on the lower levels error recovery to do what the admin had set up. V5: - Bring back V1 but move flush patches to a separate clean up set - Modify test in vhost_vq_is_setup V4: - really really fix compile errors - dropped threading patches so we can figure that out separately. V3: - fix compile errors - fix possible crash where cmd could be freed while adding it to completion list - fix issue where we added the worker thread to the blk cgroup but the blk IO was submitted by a driver workqueue. V2: - fix use before set cpu var errors - drop vhost_vq_is_setup - include patches to do a worker thread per scsi IO vq