• Asias He's avatar
    tcm_vhost: Wait for pending requests in vhost_scsi_flush() · f2f0173d
    Asias He authored
    Unlike tcm_vhost_evt requests, tcm_vhost_cmd requests are passed to the
    target core system, we can not make sure all the pending requests will
    be finished by flushing the virt queue.
    
    In this patch, we do refcount for every tcm_vhost_cmd requests to make
    vhost_scsi_flush() wait for all the pending requests issued before the
    flush operation to be finished.
    
    This is useful when we call vhost_scsi_clear_endpoint() to stop
    tcm_vhost. No new requests will be passed to target core system because
    we clear the endpoint by setting vs_tpg to NULL. And we wait for all the
    old requests. These guarantee no requests will be leaked and existing
    requests will be completed.
    Signed-off-by: default avatarAsias He <asias@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    f2f0173d
tcm_vhost.h 4.47 KB