Skip to content
  • Bart Van Assche's avatar
    ib_srpt: Initial SRP Target merge for v3.3-rc1 · a42d985b
    Bart Van Assche authored
    This patch adds the kernel module ib_srpt SCSI RDMA Protocol (SRP) target
    implementation conforming to the SRP r16a specification for the mainline
    drivers/target infrastructure.
    
    This driver was originally developed by Vu Pham and has been optimized by
    Bart Van Assche and merged into upstream LIO based on his srpt-lio-4.1
    branch here:
    
       https://github.com/bvanassche/srpt-lio/commits/srpt-lio-4.1/
    
    This updated patch also contains the following two changes from
    lio-core-2.6.git/master.  One is to fix a bug with 1 >= task->task_sg[]
    chained mappings in ib_srpt, and the other to convert the configfs control
    plane to reference IB Port GUID and struct srpt_port directly following
    mainline v4.x target_core_fabric_configfs.c convertion for ib_srpt
    to work with rtslib/rtsadmin v2 code.
    
    These seperate patches can be found here:
    
    ib_srpt: Fix bug with chainged SGLs in srpt_map_sg_to_ib_sge
    http://www.risingtidesystems.com/git/?p=lio-core-2.6.git;a=commitdiff;h=ea485147563b6555a97dbf811825fbb586519252
    
    ib_srpt: Convert se_wwn endpoint reference to struct srpt_port->port_wwn
    http://www.risingtidesystems.com/git/?p=lio-core-2.6.git;a=commitdiff;h=4e544a210acb227df1bb4ca5086e65bdf4e648ea
    
    
    
    This also includes the following recent v1 -> v2 review changes:
    
    ib_srpt: Fix potential out-of-bounds array access
    ib_srpt: Avoid failed multipart RDMA transfers
    ib_srpt: Fix srpt_alloc_fabric_acl failure case return value
    ib_srpt: Update comments to reference $driver/$port layout
    ib_srpt: Fix sport->port_guid formatting code
    ib_srpt: Remove legacy use_port_guid_in_session_name module parameter
    ib_srpt: Convert srp_max_rdma_size into per port configfs attribute
    ib_srpt: Convert srp_max_rsp_size into per port configfs attribute
    ib_srpt: Convert srpt_sq_size into per port configfs attribute
    
    and v2 -> v3 review changes:
    
    ib_srpt: Fix possible race with srp_sq_size in srpt_create_ch_ib
    ib_srpt: Fix possible race with srp_max_rsp_size in srpt_release_channel_work
    ib_srpt: Fix up MAX_SRPT_RDMA_SIZE define
    ib_srpt: Make srpt_map_sg_to_ib_sge() failure case return -EAGAIN
    ib_srpt: Convert port_guid to use subnet_prefix + interface_id formatting
    ib_srpt: Make srpt_check_stop_free return kref_put status
    ib_srpt: Make compilation with BUG=n proceed`
    ib_srpt: Use new target_core_fabric.h include
    ib_srpt: Check hex2bin() return code to silence build warning
    
    Cc: Bart Van Assche <bvanassche@acm.org>
    Cc: Roland Dreier <roland@purestorage.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Vu Pham <vu@mellanox.com>
    Cc: David Dillow <dillowda@ornl.gov>
    Signed-off-by: default avatarNicholas A. Bellinger <nab@risingtidesystems.com>
    a42d985b