/** * Unregister (previosuly registered) memory. */ void iser_unreg_mem(struct iser_mem_reg *reg) { int ret; iser_dbg("PHYSICAL Mem.Unregister mem_h %p\n",reg->mem_h); ret = ib_fmr_pool_unmap((struct ib_pool_fmr *)reg->mem_h); if (ret) iser_err("ib_fmr_pool_unmap failed %d\n", ret); reg->mem_h = NULL; }
/** * Unregister (previosuly registered using FMR) memory. * If memory is non-FMR does nothing. */ void iser_unreg_mem_fmr(struct iscsi_iser_task *iser_task, enum iser_data_dir cmd_dir) { struct iser_mem_reg *reg = &iser_task->rdma_reg[cmd_dir]; if (!reg->mem_h) return; iser_dbg("PHYSICAL Mem.Unregister mem_h %p\n", reg->mem_h); ib_fmr_pool_unmap((struct ib_pool_fmr *)reg->mem_h); reg->mem_h = NULL; }