summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorEnzo Matsumiya <ematsumiya@suse.de>2026-10-08 15:26:09 -0300
committerPaulo Alcantara <pc@manguebit.org>2026-10-13 00:52:19 -0300
commit80f49404968d680f07f33f57ed9a9a1ddd2f2418 (patch)
tree18a0287f7398db17206643be5c9c53d38a5d0e22 /tools/perf/scripts/python
parentff47652a4b66c067c765a7ad464d930b5a9367cc (diff)
downloadlinux-80f49404968d680f07f33f57ed9a9a1ddd2f2418.tar.gz
linux-80f49404968d680f07f33f57ed9a9a1ddd2f2418.zip
smb: client: fast fail sends if need to reconnect
smb_send_kvec() keeps retrying when server needs to reconnect, which makes no sense as cifs_reconnect() will never run in parallel (because both need server mutex). IOW, retrying will never succeed, but only delay reconnects further. Bail out early from smb_send_kvec() when need to reconnect. Also shutdown socket queues when CifsNeedReconnect is first detected, so any sends/receives fails immediately (and don't wait for socket to timeout). Add TCP_Server_Info::need_sock_shutdown to ensure socket is shutdown only once -- even though socket/TCP API will prevent multiple shutdowns, we need to prevent, from cifs side, concurrent tasks from accidentally shutting down the socket again in case cifs_reconnect() is successful. kernel_sock_shutdown() will be called from whichever task detects it first; cifsd (cifs_tcp_ses_needs_reconnect()), or sending tasks, through cifs_call_async() or compound_send_recv(). Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de> Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions