]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
smb: client: let recv_done() queue a refill when the peer is low on credits
authorStefan Metzmacher <metze@samba.org>
Thu, 22 Jan 2026 17:16:49 +0000 (18:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Feb 2026 09:19:42 +0000 (10:19 +0100)
commit5b69ba9978dd084d8c9f397a8ecc7522d387b68e
tree6386e5ed1643d63e5129c9a6715093c48d43abd6
parentf664e6e8a81103cb45c8802a9bc7499e0902c458
smb: client: let recv_done() queue a refill when the peer is low on credits

commit defb3c05fee94b296eebe05aaea16d2664b00252 upstream.

In captures I saw that Windows was granting 191 credits in a batch
when its peer posted a lot of messages. We are asking for a
credit target of 255 and 191 is 252*3/4.

So we also use that logic in order to fill the
recv buffers available to the peer.

Fixes: 02548c477a90 ("smb: client: queue post_recv_credits_work also if the peer raises the credit target")
Cc: <stable@vger.kernel.org> # 6.18.x
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: 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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/client/smbdirect.c