• Nicholas Bellinger's avatar
    vhost/scsi: Add T10 PI IOV -> SGL memory mapping logic · e31885dd
    Nicholas Bellinger authored
    
    
    This patch adds vhost_scsi_map_iov_to_prot() to perform the mapping of
    T10 data integrity memory between virtio iov + struct scatterlist using
    get_user_pages_fast() following existing code.
    
    As with vhost_scsi_map_iov_to_sgl(), this does sanity checks against the
    total prot_sgl_count vs. pre-allocated SGLs, and loops across protection
    iovs using vhost_scsi_map_to_sgl() to perform the actual memory mapping.
    
    Also update tcm_vhost_release_cmd() to release associated tvc_prot_sgl[]
    struct page.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Hannes Reinecke <hare@suse.de>
    Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    e31885dd
scsi.c 59.9 KB