diff options
| author | Stefan Metzmacher <metze@samba.org> | 2025-08-22 16:07:35 +0300 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2025-09-29 02:29:53 +0300 |
| commit | 789cfc2ffa72d75394cee78abf3fd4d57d623399 (patch) | |
| tree | 903ab3728a6a69b199a614abbf9cd8a267fe1643 | |
| parent | 100aec545ad170ac9139dd66e3475501f4b5bda4 (diff) | |
| download | linux-789cfc2ffa72d75394cee78abf3fd4d57d623399.tar.xz | |
smb: server: pass struct smbdirect_socket to smb_direct_{alloc,free}_sendmsg()
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.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c index f8d08a329153..05900f62f2e7 100644 --- a/fs/smb/server/transport_rdma.c +++ b/fs/smb/server/transport_rdma.c @@ -414,9 +414,8 @@ static void free_transport(struct smb_direct_transport *t) } static struct smbdirect_send_io -*smb_direct_alloc_sendmsg(struct smb_direct_transport *t) +*smb_direct_alloc_sendmsg(struct smbdirect_socket *sc) { - struct smbdirect_socket *sc = &t->socket; struct smbdirect_send_io *msg; msg = mempool_alloc(sc->send_io.mem.pool, KSMBD_DEFAULT_GFP); @@ -428,10 +427,9 @@ static struct smbdirect_send_io return msg; } -static void smb_direct_free_sendmsg(struct smb_direct_transport *t, +static void smb_direct_free_sendmsg(struct smbdirect_socket *sc, struct smbdirect_send_io *msg) { - struct smbdirect_socket *sc = &t->socket; int i; if (msg->num_sge > 0) { @@ -821,13 +819,11 @@ static void smb_direct_post_recv_credits(struct work_struct *work) static void send_done(struct ib_cq *cq, struct ib_wc *wc) { struct smbdirect_send_io *sendmsg, *sibling; - struct smb_direct_transport *t; struct smbdirect_socket *sc; struct list_head *pos, *prev, *end; sendmsg = container_of(wc->wr_cqe, struct smbdirect_send_io, cqe); sc = sendmsg->socket; - t = container_of(sc, struct smb_direct_transport, socket); ksmbd_debug(RDMA, "Send completed. status='%s (%d)', opcode=%d\n", ib_wc_status_msg(wc->status), wc->status, @@ -849,11 +845,11 @@ static void send_done(struct ib_cq *cq, struct ib_wc *wc) for (pos = &sendmsg->sibling_list, prev = pos->prev, end = sendmsg->sibling_list.next; prev != end; pos = prev, prev = prev->prev) { sibling = container_of(pos, struct smbdirect_send_io, sibling_list); - smb_direct_free_sendmsg(t, sibling); + smb_direct_free_sendmsg(sc, sibling); } sibling = container_of(pos, struct smbdirect_send_io, sibling_list); - smb_direct_free_sendmsg(t, sibling); + smb_direct_free_sendmsg(sc, sibling); } static int manage_credits_prior_sending(struct smb_direct_transport *t) @@ -957,7 +953,7 @@ static int smb_direct_flush_send_list(struct smb_direct_transport *t, wake_up(&sc->send_io.credits.wait_queue); list_for_each_entry_safe(first, last, &send_ctx->msg_list, sibling_list) { - smb_direct_free_sendmsg(t, first); + smb_direct_free_sendmsg(sc, first); } } return ret; @@ -1032,7 +1028,7 @@ static int smb_direct_create_header(struct smb_direct_transport *t, int header_length; int ret; - sendmsg = smb_direct_alloc_sendmsg(t); + sendmsg = smb_direct_alloc_sendmsg(sc); if (IS_ERR(sendmsg)) return PTR_ERR(sendmsg); @@ -1075,7 +1071,7 @@ static int smb_direct_create_header(struct smb_direct_transport *t, DMA_TO_DEVICE); ret = ib_dma_mapping_error(sc->ib.dev, sendmsg->sge[0].addr); if (ret) { - smb_direct_free_sendmsg(t, sendmsg); + smb_direct_free_sendmsg(sc, sendmsg); return ret; } @@ -1231,7 +1227,7 @@ static int smb_direct_post_send_data(struct smb_direct_transport *t, goto err; return 0; err: - smb_direct_free_sendmsg(t, msg); + smb_direct_free_sendmsg(sc, msg); atomic_inc(&sc->send_io.credits.count); return ret; } @@ -1660,7 +1656,7 @@ static int smb_direct_send_negotiate_response(struct smb_direct_transport *t, struct smbdirect_negotiate_resp *resp; int ret; - sendmsg = smb_direct_alloc_sendmsg(t); + sendmsg = smb_direct_alloc_sendmsg(sc); if (IS_ERR(sendmsg)) return -ENOMEM; @@ -1696,7 +1692,7 @@ static int smb_direct_send_negotiate_response(struct smb_direct_transport *t, DMA_TO_DEVICE); ret = ib_dma_mapping_error(sc->ib.dev, sendmsg->sge[0].addr); if (ret) { - smb_direct_free_sendmsg(t, sendmsg); + smb_direct_free_sendmsg(sc, sendmsg); return ret; } @@ -1706,7 +1702,7 @@ static int smb_direct_send_negotiate_response(struct smb_direct_transport *t, ret = post_sendmsg(t, NULL, sendmsg); if (ret) { - smb_direct_free_sendmsg(t, sendmsg); + smb_direct_free_sendmsg(sc, sendmsg); return ret; } |
