]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: server: pass struct smbdirect_socket to smb_direct_post_recv()
authorStefan Metzmacher <metze@samba.org>
Fri, 22 Aug 2025 12:52:04 +0000 (14:52 +0200)
committerSteve French <stfrench@microsoft.com>
Sun, 28 Sep 2025 23:29:53 +0000 (18:29 -0500)
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>
fs/smb/server/transport_rdma.c

index 6d1a39afd2a2e5d1125221ea7914734b39110d51..01b1d35a0b1c6e8c5b3b20844046035c7b680885 100644 (file)
@@ -631,10 +631,9 @@ static void recv_done(struct ib_cq *cq, struct ib_wc *wc)
        smb_direct_disconnect_rdma_connection(sc);
 }
 
-static int smb_direct_post_recv(struct smb_direct_transport *t,
+static int smb_direct_post_recv(struct smbdirect_socket *sc,
                                struct smbdirect_recv_io *recvmsg)
 {
-       struct smbdirect_socket *sc = &t->socket;
        struct smbdirect_socket_parameters *sp = &sc->parameters;
        struct ib_recv_wr wr;
        int ret;
@@ -791,8 +790,6 @@ static void smb_direct_post_recv_credits(struct work_struct *work)
 {
        struct smbdirect_socket *sc =
                container_of(work, struct smbdirect_socket, recv_io.posted.refill_work);
-       struct smb_direct_transport *t =
-               container_of(sc, struct smb_direct_transport, socket);
        struct smbdirect_recv_io *recvmsg;
        int credits = 0;
        int ret;
@@ -805,7 +802,7 @@ static void smb_direct_post_recv_credits(struct work_struct *work)
 
                        recvmsg->first_segment = false;
 
-                       ret = smb_direct_post_recv(t, recvmsg);
+                       ret = smb_direct_post_recv(sc, recvmsg);
                        if (ret) {
                                pr_err("Can't post recv: %d\n", ret);
                                put_recvmsg(sc, recvmsg);
@@ -1785,7 +1782,7 @@ static int smb_direct_prepare_negotiation(struct smb_direct_transport *t)
        if (!recvmsg)
                return -ENOMEM;
 
-       ret = smb_direct_post_recv(t, recvmsg);
+       ret = smb_direct_post_recv(sc, recvmsg);
        if (ret) {
                pr_err("Can't post recv: %d\n", ret);
                goto out_err;