• Doug Oucharek's avatar
    staging: lustre: ko2iblnd: Adapt to the removal of ib_get_dma_mr() · e0ccf5d0
    Doug Oucharek authored
    In Linux kernel 4.9-rc1, the function ib_get_dma_mr()
    was removed and a second parameter was added to ib_alloc_pd().
    As this broke the building of the ko2iblnd module in
    staging, the Kconfig for LNet has marked ko2iblnd as broken
    and stopped building it.
    
    This patch fixes this breakage by:
    
    - Removing the BROKEN tag from lnet/Kconfig.
    - Make it so the module parameter map_on_demand can no longer be
      zero (we have to configure FMR/FastReg pools; it can no longer be
      off).
    - No longer try to use the global DMA memory region, but make use
      of the FMR/FastReg pool for all RDMA Tx operations.
    - Everywhere we are using the device DMA mr to derive the
      L-key for non-registered memory regions, use the
      pd->local_dma_lkey value instead.
    - Make the default map_on_demand = 256.  This will allow nodes with
      this patch to still connected to older nodes without this patch
      and FMR/FastReg turned off.  When FMR/FastReg is turned off, we
      use 256 as the max frags so the two sides will still be able to
      communicate and work.
    - Fix a mistake with BUILD_BUG_ON calls in o2iblnd.c which caused
      compiling to fail.
    Signed-off-by: default avatarDoug Oucharek <doug.s.oucharek@intel.com>
    Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-9026
    Reviewed-on: https://review.whamcloud.com/#/c/24931/Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
    Reviewed-by: default avatarJames Simmons <jsimmons@infradead.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    e0ccf5d0
Kconfig 1.41 KB