From bfe9d77412c8f9dc040d195a2bfe4d00620df223 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 25 Oct 2016 22:21:46 +0000 Subject: [PATCH] isert-scst: Cache L_Key This patch does not change any functionality. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7019 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/kernel/isert-scst/iser.h | 1 + iscsi-scst/kernel/isert-scst/iser_pdu.c | 2 +- iscsi-scst/kernel/isert-scst/iser_rdma.c | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/iscsi-scst/kernel/isert-scst/iser.h b/iscsi-scst/kernel/isert-scst/iser.h index 7b8c0536d..143d863c4 100644 --- a/iscsi-scst/kernel/isert-scst/iser.h +++ b/iscsi-scst/kernel/isert-scst/iser.h @@ -234,6 +234,7 @@ struct isert_device { struct ib_device *ib_dev; struct ib_pd *pd; struct ib_mr *mr; + u32 lkey; struct list_head devs_node; /* conn_list and refcnt protected by dev_list_mutex */ diff --git a/iscsi-scst/kernel/isert-scst/iser_pdu.c b/iscsi-scst/kernel/isert-scst/iser_pdu.c index 25ee75ddd..7a0810185 100644 --- a/iscsi-scst/kernel/isert-scst/iser_pdu.c +++ b/iscsi-scst/kernel/isert-scst/iser_pdu.c @@ -201,7 +201,7 @@ static int isert_alloc_for_rdma(struct isert_cmnd *pdu, int sge_cnt, isert_wr_set_fields(&pdu->wr[i], isert_conn, pdu); for (i = 0; i < sge_cnt; ++i) - pdu->sg_pool[i].lkey = isert_conn->isert_dev->mr->lkey; + pdu->sg_pool[i].lkey = isert_conn->isert_dev->lkey; goto out; diff --git a/iscsi-scst/kernel/isert-scst/iser_rdma.c b/iscsi-scst/kernel/isert-scst/iser_rdma.c index 7699abc74..8c6424acf 100644 --- a/iscsi-scst/kernel/isert-scst/iser_rdma.c +++ b/iscsi-scst/kernel/isert-scst/iser_rdma.c @@ -1092,6 +1092,7 @@ static struct isert_device *isert_device_create(struct ib_device *ib_dev) isert_dev->ib_dev = ib_dev; isert_dev->pd = pd; isert_dev->mr = mr; + isert_dev->lkey = mr->lkey; INIT_LIST_HEAD(&isert_dev->conn_list);