Stefan Metzmacher
a7eef6144c
smb: server: queue post_recv_credits_work in put_recvmsg() and avoid count_avail_recvmsg
...
This is basically what the client is doing in put_receive_buffer().
It means we don't need complicated work to maintain count_avail_recvmsg.
But we keep the logic to queue post_recv_credits_work if the
peer raises the requested credit_target and put_receive_buffer()
is not called.
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 >
2025-09-28 18:29:52 -05:00
Stefan Metzmacher
d4b86b4909
smb: server: add a pr_info() when the server starts running
...
We already have a message like:
ksmbd: kill command received
when the server stops running.
This makes it easier for debugging in order to match any possible
warnings/errors in dmesg with restarted server.
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 >
2025-09-28 18:29:52 -05:00
Stefan Metzmacher
27bc4c57f0
smb: server: make only use of wake_up[_all]() in transport_rdma.c
...
wake_up_interruptible(() doesn't wake up tasks waiting with wait_event().
So we better wake_up[_all]() in order to wake up all tasks in order
to simplify the logic.
As we currently don't use any wait_event_*_exclusive() it
doesn't really matter if we use wake_up() or wake_up_all().
But in this patch I try to use wake_up() for expected situations
and wake_up_all() for situations of a broken connection.
So don't need to adjust things in future when we
may use wait_event_*_exclusive() in order to wake up
only one process that should make progress.
Changing the wait_event_*() code in order to keep
wait_event(), wait_event_interruptible() and
wait_event_interruptible_timeout() or
changing them to wait_event_killable(),
wait_event_killable_timeout(),
wait_event_killable_exclusive()
is something to think about in a future patch.
The goal here is to avoid that some tasks are not
woken and freeze forever.
Also note that this patch only changes the existing
wake_up*() calls. Adding more wake_up*() calls for
other wait queues is also deferred to a future patch.
Link: https://lore.kernel.org/linux-cifs/13851363-0dc9-465c-9ced-3ede4904eef0@samba.org/T/#t
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
98dc77b310
smb: server: make use of smbdirect_socket.{send,recv}_io.mem.{cache,pool}
...
This will allow common helper functions to be created later.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
442959002f
smb: server: make use of struct smbdirect_send_io
...
This is already used by the client and will allow us
to use common helper functions soon.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
ea20d02842
smb: server: make use of SMBDIRECT_RECV_IO_MAX_SGE
...
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
bdb0f1596a
smb: server: make use of smbdirect_socket.recv_io.reassembly.*
...
This is also used by the client and will allow us to introduce
common helper functions soon.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
d9989207b7
smb: server: make use of smbdirect_socket.recv_io.free.{list,lock}
...
This is already used by the client and will allow us to
add common helper functions soon.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
9883a142f1
smb: server: make use of struct smbdirect_recv_io
...
This will allow us to move helper functions into common code soon
as the client already uses smbdirect_recv_io.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
3e691b1d16
smb: server: make use of smbdirect_socket->recv_io.expected
...
The expected incoming message type can be per connection.
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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
177368b992
smb: server: make use of common smbdirect_socket_parameters
...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: Namjae Jeon <linkinjeon@kernel.org >
Cc: Hyunchul Lee <hyc.lee@gmail.com >
Cc: Meetakshi Setiya <meetakshisetiyaoss@gmail.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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
4c564f03e2
smb: server: make use of common smbdirect_socket
...
This is the next step in the direction of a common smbdirect layer.
Currently only structures are shared, but that will change
over time until everything is shared.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: Namjae Jeon <linkinjeon@kernel.org >
Cc: Hyunchul Lee <hyc.lee@gmail.com >
Cc: Meetakshi Setiya <meetakshisetiyaoss@gmail.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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
e7de2c4521
smb: server: make use of common smbdirect.h
...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: Namjae Jeon <linkinjeon@kernel.org >
Cc: Hyunchul Lee <hyc.lee@gmail.com >
Cc: Meetakshi Setiya <meetakshisetiyaoss@gmail.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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
575c1af4dc
smb: server: make use of common smbdirect_pdu.h
...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: Namjae Jeon <linkinjeon@kernel.org >
Cc: Hyunchul Lee <hyc.lee@gmail.com >
Cc: Meetakshi Setiya <meetakshisetiyaoss@gmail.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 >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
fad988a215
smb: server: fix IRD/ORD negotiation with the client
...
Already do real negotiation in smb_direct_handle_connect_request()
where we see the requested initiator_depth and responder_resources
from the client.
We should detect legacy iwarp clients using MPA v1
with the custom IRD/ORD negotiation.
We need to send the custom IRD/ORD in big endian,
but we need to try to let clients with broken requests
using little endian (older cifs.ko) to work.
Note the reason why this uses u8 for
initiator_depth and responder_resources is
that the rdma layer also uses it.
Acked-by: 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
Cc: linux-rdma@vger.kernel.org
Fixes: 0626e6641f ("cifsd: add server handler for central processing and tranport layers")
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
2dad0b15bb
smb: client: let smbd_post_send_iter() call ib_dma_map_single() for the header first
...
This will simplify further changes, the important part is that
request->num_sge >= 1 is only set if request->sge[0].* is valid.
Note that ib_dma_sync_single_for_device() is called in
smbd_post_send() for each sge, so the device will still
see the packet header even if it's modified after calling
ib_dma_map_single().
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
c4709e61ef
smb: client: defer calling ib_alloc_pd() after we are connected
...
The protection domain is not needed until we're connected.
This makes further changes easier to follow...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
17a6bc60f4
smb: client: allocate smbdirect workqueue at the beginning of _smbd_get_connection()
...
This will simplify further changes when moving to common code.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
a437c9cebc
smb: client: make consitent use of spin_lock_irq{save,restore}() in smbdirect.c
...
There is a mix of using spin_lock(), spin_lock_irq() and
spin_lock_irqsave() and it seems at least enqueue_reassembly() was wrong
in using just spin_lock() as it's called via recv_done() from a SOFTIRQ
as we're using IB_POLL_SOFTIRQ.
And Documentation/kernel-hacking/locking.rst section
"Cheat Sheet For Locking" says:
- Otherwise (== data can be touched in an interrupt), use
spin_lock_irqsave() and
spin_unlock_irqrestore().
So in order to keep it simple and safe we use that version
now. It will help merging functions into common code and
have consistent locking in all cases.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
1b128ec1c7
smb: client: let smbd_{destroy,disconnect_rdma_{work,connection}}() wake up all wait queues
...
This is important in order to let all waiters notice a broken connection.
We also go via smbd_disconnect_rdma_{work,connection}() for broken
connections.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
0cb7ed37af
smb: client: let smbd_disconnect_rdma_connection() disable all work but disconnect_work
...
There's no point run these if we already know the connection
is broken.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
98a1cdca35
smb: client: fill in smbdirect_socket.first_error on error
...
For now we just use -ECONNABORTED, but it will get more detailed
later.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
ffbfc73e84
smb: client: let smbd_disconnect_rdma_connection() set SMBDIRECT_SOCKET_ERROR...
...
smbd_disconnect_rdma_connection() should turn the status into
an error state instead of leaving it as is until
smbd_disconnect_rdma_work() is running.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
114347dad6
smb: client: remove unused struct smbdirect_socket argument of smbd_iter_to_mr()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
4c4b1d1122
smb: client: pass struct smbdirect_socket to get_mr()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:51 -05:00
Stefan Metzmacher
2c6b999a90
smb: client: pass struct smbdirect_socket to smbd_negotiate()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
c612e60de5
smb: client: pass struct smbdirect_socket to smbd_post_send_negotiate_req()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
0a5dc5fc7c
smb: client: pass struct smbdirect_socket to smbd_ia_open()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
2569536b0c
smb: client: pass struct smbdirect_socket to smbd_create_id()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
94a0e794b7
smb: client: pass struct smbdirect_socket to smbd_qp_async_error_upcall()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
e3f095cca6
smb: client: pass struct smbdirect_socket to smbd_conn_upcall()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
05bd1378c8
smb: client: pass struct smbdirect_socket to smbd_post_send_full_iter()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
d76e8c7f54
smb: client: pass struct smbdirect_socket to smbd_post_send_empty()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
46b8fe2bd1
smb: client: pass struct smbdirect_socket to smbd_post_send_iter()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
8cead970e3
smb: client: pass struct smbdirect_socket to manage_keep_alive_before_sending()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
8a9919b2bf
smb: client: pass struct smbdirect_socket to smbd_post_send()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
869bb7284f
smb: client: pass struct smbdirect_socket to manage_credits_prior_sending()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
be8602d47d
smb: client: pass struct smbdirect_socket to smbd_post_recv()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
c7e4d5facb
smb: client: pass struct smbdirect_socket to smbd_disconnect_rdma_connection()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
a8a45d4c95
smb: client: pass struct smbdirect_socket to {allocate,destroy}_mr_list()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
419fc78fd8
smb: client: pass struct smbdirect_socket to {enqueue,_get_first}_reassembly()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
b8a5d5d1aa
smb: client: pass struct smbdirect_socket to {allocate,destroy}_caches_and_workqueue()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
163e0ff8c6
smb: client: pass struct smbdirect_socket to {allocate,destroy}_receive_buffers()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
f6de7482b4
smb: client: pass struct smbdirect_socket to {get,put}_receive_buffer()
...
This will make it easier to move function to the common code
in future.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
02e6f092c7
smb: client: make use of smbdirect_socket.mr_io
...
Now struct smbd_connection only contains struct smbdirect_socket,
this is an important step towards having common functions as well.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
9a52e3b0d6
smb: client: make use of smbdirect_socket_parameters.max_frmr_depth
...
This make it easier to have common code later.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
f454f36cd0
smb: client: make use of struct smbdirect_mr_io
...
This will allow us to move to common functions in future too.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:50 -05:00
Stefan Metzmacher
5f84b0819a
smb: client: add and use smbd_get_parameters()
...
In future struct smbdirect_socket_parameters will be the only
public structure for the smb layer. This prepares this...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:49 -05:00
Stefan Metzmacher
40212a27c7
smb: client: make use of smbdirect_socket.workqueue
...
This will simplify the move to common code...
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:49 -05:00
Stefan Metzmacher
a8efb796db
smb: client: move rdma_readwrite_threshold from smbd_connection to TCP_Server_Info
...
This belongs to the SMB layer not to the transport layer, it
just uses the negotiated transport parameters to adjust the
value if needed.
Cc: Steve French <smfrench@gmail.com >
Cc: Tom Talpey <tom@talpey.com >
Cc: Long Li <longli@microsoft.com >
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Acked-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Stefan Metzmacher <metze@samba.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2025-09-28 18:29:49 -05:00