[PATCH v5 000/144] smb: smbdirect/client/server: moving to common functions and smbdirect.ko

Stefan Metzmacher metze at samba.org
Mon Feb 9 19:10:55 UTC 2026


Am 09.02.26 um 14:22 schrieb Stefan Metzmacher via samba-technical:
> Am 09.02.26 um 08:29 schrieb Namjae Jeon:
>>>
>>> I tested with with mlx5_ib, irdma (roce) and rxe.
>>> There's still a known problem with iwarp.
>> Let me know what the known problem is.
> 
> It's the rw credit deadlock, as use rw credits
> for the wrong thing, which means we easily deadlock
> if the client uses an array smbdirect_buffer_descriptor_v1,
> where the could larger than the possible rw credits
> be calculated. While the max possible rw credits we calculate
> is the value that is needed in order to
> transfer the maximal rw size into a single
> smbdirect_buffer_descriptor_v1.
> 
> This commit adds a WARN_ONCE detection for the
> problem:
> https://git.samba.org/?p=metze/linux/wip.git;a=commitdiff;h=e6260d7a518972ae1ca627e411cc16095c044d59
> 
> See the diff and commit messages of the top ~15 commits
> in my for-6.18/ksmbd-smbdirect-regression-v4, which try to
> fix the problem.
> 
> I try to fix it once I have the needed pcie adapters in
> order to out my Chelsio T520-BT cards into the free x4 slot
> of my testservers.
> 
> As there are some strange page fault problems with the irdma
> driver, see
> https://git.samba.org/?p=metze/linux/wip.git;a=commitdiff;h=a6b515cda103c1ac1537c92a4e9dbd75a31d92ef
> And also
> https://git.samba.org/?p=metze/samba/wip.git;a=commitdiff;h=e784b53167dc2cf4316b66a7599dab5b9e6c7208
> 
> For the client problem with irdma, see
> https://git.samba.org/?p=metze/linux/wip.git;a=commitdiff;h=fb5cc2a59b4719015979a1f1355f66f27002b4cf
> irdma_map_mr_sg may merge sg elements any may not return
> the same value as the given sg_nents on success.
> 
>>>
>>> So far I can't see any regression compared the
>>> state before these 144 patches.
>>>
>>> Namjae, can you please test in your setup?
>>
>> Is there any reason to print the log below by default?
>> ksmbd: smb_direct: smbdirect_socket_schedule_cleanup(-ESHUTDOWN)
>> called from smbdirect_socket_shutdown in line=650 status=LISTENING
>> ksmbd: smb_direct: smbdirect_socket_schedule_cleanup(-ESHUTDOWN)
>> called from smbdirect_socket_shutdown in line=650 status=LISTENING
>> ksmbd: smb_direct: smbdirect_socket_schedule_cleanup(-ESHUTDOWN)
>> called from smbdirect_socket_shutdown in line=650 status=CONNECTED
>> ksmbd: smb_direct: smbdirect_socket_schedule_cleanup(-ESHUTDOWN)
>> called from smbdirect_socket_shutdown in line=650 status=CONNECTED
> 
> I can move the above message to level INFO.
> 
>> ksmbd: smb_direct: status=ERROR first_error=-ESHUTDOWN => -ENOTCONN
> 
> This is basically the same messages as the one we
> had in smb_direct_read() before:
> 
>          if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
>                  pr_err("disconnected\n");
>                  return -ENOTCONN;
>          }
> 
> If I remember correctly it appeared just as:
> 
> 'ksmbd: disconnected'
> 
> I can just move the new message to level INFO too, ok?

My master-fs-smb branch has 3 commits which should disable the
messages by default, let me know if your happy with the logic
and I'll squash them to the correct commit.

https://git.samba.org/?p=metze/linux/wip.git;a=shortlog;h=8b2f53aec19ebc180c11504600b5e5372d2220cb

metze




More information about the samba-technical mailing list