FAILED: Patch "smb: client: split out smbd_ib_post_send()" failed to apply to 6.6-stable tree
Subsystems (4)
Sasha Levin
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Thanks,
Sasha
------------------ original commit in Linus's tree ------------------
From bf30515caec590316e0d08208e4252eed4c160df Mon Sep 17 00:00:00 2001
From: Stefan Metzmacher <[email protected]>
Date: Thu, 22 Jan 2026 18:16:54 +0100
Subject: [PATCH] smb: client: split out smbd_ib_post_send()
This is like smb_direct_post_send() in the server and will simplify porting the smbdirect_send_batch and credit related logic from the server.
Cc <[email protected]> # 6.18.x
Cc Steve French <[email protected]>
Cc Tom Talpey <[email protected]>
Cc Long Li <[email protected]>
Cc Namjae Jeon <[email protected]>
Signed-off-by Stefan Metzmacher <[email protected]>
Signed-off-by Steve French <[email protected]>
--- fs/smb/client/smbdirect.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-)
fs/smb/client/smbdirect.c +17 -16
@@ -1101,11 +1101,26 @@ static int manage_keep_alive_before_sending(struct smbdirect_socket *sc)return 0 ; } +static int smbd_ib_post_send (struct smbdirect_socket *sc, +struct ib_send_wr *wr) +{ +int ret; + +atomic_inc (&sc->send_io.pending.count); + ret =ib_post_send (sc->ib.qp, wr,NULL ); +if (ret) { +pr_err ("failed to post send: %d\n" , ret); +smbd_disconnect_rdma_connection (sc); + ret = -EAGAIN ; + } +return ret; +} +/* Post the send request */ static int smbd_post_send (struct smbdirect_socket *sc,struct smbdirect_send_io *request) { -int rc, i; +int i;for (i =0 ; i < request->num_sge; i++) { log_rdma_send(INFO,
@@ -1126,15 +1141,7 @@ static int smbd_post_send(struct smbdirect_socket *sc, request->wr.num_sge = request->num_sge; request->wr.opcode =IB_WR_SEND ; request->wr.send_flags =IB_SEND_SIGNALED ; - - rc =ib_post_send (sc->ib.qp, &request->wr,NULL ); -if (rc) { -log_rdma_send (ERR ,"ib_post_send failed rc=%d\n" , rc); -smbd_disconnect_rdma_connection (sc); - rc = -EAGAIN ; - } - -return rc; +return smbd_ib_post_send (sc, &request->wr); } static int wait_for_credits(struct smbdirect_socket *sc,
@@ -1280,12 +1287,6 @@ static int smbd_post_send_iter(struct smbdirect_socket *sc,le32_to_cpu (packet->data_length), le32_to_cpu(packet->remaining_data_length)); -/* -* Now that we got a local and a remote credit -* we add us as pending -*/ -atomic_inc (&sc->send_io.pending.count); - rc =smbd_post_send (sc, request);if (!rc)return 0 ;
Signature · 1 line
2.51.0