summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2025-08-22 14:49:18 +0200
committerSteve French <stfrench@microsoft.com>2025-09-28 18:29:53 -0500
commitf75c226db0d29ee422f9b3ffd0a4730e6c552fbe (patch)
treebf116797515ccefad03a81e3281dd95826ee0265
parent56227a7aa5c6e159205d79444833c0e2874dcc94 (diff)
downloadlinux-f75c226db0d29ee422f9b3ffd0a4730e6c552fbe.tar.gz
linux-f75c226db0d29ee422f9b3ffd0a4730e6c552fbe.zip
smb: server: pass struct smbdirect_socket to smb_direct_qpair_handler()
This will make it easier to move function to the common code in future. Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: Steve French <smfrench@gmail.com> Cc: Tom Talpey <tom@talpey.com> Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher <metze@samba.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
-rw-r--r--fs/smb/server/transport_rdma.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c
index 8ca75afe082c..9ccc0930e99e 100644
--- a/fs/smb/server/transport_rdma.c
+++ b/fs/smb/server/transport_rdma.c
@@ -1639,8 +1639,7 @@ static int smb_direct_cm_handler(struct rdma_cm_id *cm_id,
static void smb_direct_qpair_handler(struct ib_event *event, void *context)
{
- struct smb_direct_transport *t = context;
- struct smbdirect_socket *sc = &t->socket;
+ struct smbdirect_socket *sc = context;
ksmbd_debug(RDMA, "Received QP event. cm_id=%p, event=%s (%d)\n",
sc->rdma.cm_id, ib_event_msg(event->event), event->event);
@@ -1980,7 +1979,7 @@ static int smb_direct_create_qpair(struct smb_direct_transport *t,
return ret;
}
- sc->ib.send_cq = ib_alloc_cq(sc->ib.dev, t,
+ sc->ib.send_cq = ib_alloc_cq(sc->ib.dev, sc,
sp->send_credit_target + cap->max_rdma_ctxs,
0, IB_POLL_WORKQUEUE);
if (IS_ERR(sc->ib.send_cq)) {
@@ -1990,7 +1989,7 @@ static int smb_direct_create_qpair(struct smb_direct_transport *t,
goto err;
}
- sc->ib.recv_cq = ib_alloc_cq(sc->ib.dev, t,
+ sc->ib.recv_cq = ib_alloc_cq(sc->ib.dev, sc,
sp->recv_credit_max, 0, IB_POLL_WORKQUEUE);
if (IS_ERR(sc->ib.recv_cq)) {
pr_err("Can't create RDMA recv CQ\n");
@@ -2001,7 +2000,7 @@ static int smb_direct_create_qpair(struct smb_direct_transport *t,
memset(&qp_attr, 0, sizeof(qp_attr));
qp_attr.event_handler = smb_direct_qpair_handler;
- qp_attr.qp_context = t;
+ qp_attr.qp_context = sc;
qp_attr.cap = *cap;
qp_attr.sq_sig_type = IB_SIGNAL_REQ_WR;
qp_attr.qp_type = IB_QPT_RC;