[PATCH v2 00/20] smbdirect client/server credit fixes

Stefan Metzmacher metze at samba.org
Thu Jan 22 17:16:40 UTC 2026


Hi,

here is my current state of the regression
fixes we have in 6.18 and 6.19-rc6.

We may add some more detailed Fixes tags,
but for now at least everything is marked
as stable for 6.18.

I tested the patches and fixed a few minor
but important things in the client patches.

v2:
- we should not add new_credits twice to
  sc->recv_io.credits.count in the client
  patches
- also the need to use request->wr instead
  of a struct ib_send_wr on the stack for
  the client side negotiate request.

Stefan Metzmacher (20):
  smb: smbdirect: introduce smbdirect_socket.recv_io.credits.available
  smb: smbdirect: introduce smbdirect_socket.send_io.bcredits.*
  smb: server: make use of smbdirect_socket.recv_io.credits.available
  smb: server: let recv_done() queue a refill when the peer is low on
    credits
  smb: server: make use of smbdirect_socket.send_io.bcredits
  smb: server: fix last send credit problem causing disconnects
  smb: server: let send_done handle a completion without
    IB_SEND_SIGNALED
  smb: client: make use of smbdirect_socket.recv_io.credits.available
  smb: client: let recv_done() queue a refill when the peer is low on
    credits
  smb: client: let smbd_post_send() make use of request->wr
  smb: client: remove pointless sc->recv_io.credits.count rollback
  smb: client: remove pointless sc->send_io.pending handling in
    smbd_post_send_iter()
  smb: client: port and use the wait_for_credits logic used by server
  smb: client: split out smbd_ib_post_send()
  smb: client: introduce and use smbd_{alloc,free}_send_io()
  smb: client: use smbdirect_send_batch processing
  smb: client: make use of smbdirect_socket.send_io.bcredits
  smb: client: fix last send credit problem causing disconnects
  smb: client: let smbd_post_send_negotiate_req() use smbd_post_send()
  smb: client: let send_done handle a completion without
    IB_SEND_SIGNALED

 fs/smb/client/smbdirect.c                  | 523 ++++++++++++++++-----
 fs/smb/common/smbdirect/smbdirect_socket.h |  18 +
 fs/smb/server/transport_rdma.c             | 147 +++++-
 3 files changed, 551 insertions(+), 137 deletions(-)

-- 
2.43.0




More information about the samba-technical mailing list