smb: server: initialize recv_io->cqe.done = recv_done just once

smbdirect_recv_io structures are pre-allocated so we can set the
callback function just once.

This will make it easy to move smb_direct_post_recv to common code
soon.

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>
master
Stefan Metzmacher 2025-12-02 22:15:25 +01:00 committed by Steve French
parent 49ca214774
commit c1fb124f2a
1 changed files with 4 additions and 1 deletions

View File

@ -758,7 +758,6 @@ static int smb_direct_post_recv(struct smbdirect_socket *sc,
return ret;
recvmsg->sge.length = sp->max_recv_size;
recvmsg->sge.lkey = sc->ib.pd->local_dma_lkey;
recvmsg->cqe.done = recv_done;
wr.wr_cqe = &recvmsg->cqe;
wr.next = NULL;
@ -2339,6 +2338,7 @@ respond:
static int smb_direct_connect(struct smbdirect_socket *sc)
{
struct smbdirect_recv_io *recv_io;
int ret;
ret = smb_direct_init_params(sc);
@ -2353,6 +2353,9 @@ static int smb_direct_connect(struct smbdirect_socket *sc)
return ret;
}
list_for_each_entry(recv_io, &sc->recv_io.free.list, list)
recv_io->cqe.done = recv_done;
ret = smb_direct_create_qpair(sc);
if (ret) {
pr_err("Can't accept RDMA client: %d\n", ret);