Skip to content

Commit c77885d

Browse files
metze-sambasmfrench
authored andcommitted
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>
1 parent e2e5be7 commit c77885d

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

fs/smb/server/transport_rdma.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,6 @@ static int smb_direct_post_recv(struct smbdirect_socket *sc,
758758
return ret;
759759
recvmsg->sge.length = sp->max_recv_size;
760760
recvmsg->sge.lkey = sc->ib.pd->local_dma_lkey;
761-
recvmsg->cqe.done = recv_done;
762761

763762
wr.wr_cqe = &recvmsg->cqe;
764763
wr.next = NULL;
@@ -2339,6 +2338,7 @@ static int smb_direct_prepare(struct ksmbd_transport *t)
23392338

23402339
static int smb_direct_connect(struct smbdirect_socket *sc)
23412340
{
2341+
struct smbdirect_recv_io *recv_io;
23422342
int ret;
23432343

23442344
ret = smb_direct_init_params(sc);
@@ -2353,6 +2353,9 @@ static int smb_direct_connect(struct smbdirect_socket *sc)
23532353
return ret;
23542354
}
23552355

2356+
list_for_each_entry(recv_io, &sc->recv_io.free.list, list)
2357+
recv_io->cqe.done = recv_done;
2358+
23562359
ret = smb_direct_create_qpair(sc);
23572360
if (ret) {
23582361
pr_err("Can't accept RDMA client: %d\n", ret);

0 commit comments

Comments
 (0)