[Bug 15136] Access to cifs gets stuck for a while (>20s) after disconnecting from network

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.samba.org/show_bug.cgi?id=15136

--- Comment #1 from Enzo Matsumiya <ematsumiya@xxxxxxx> ---
Hi, thanks for the patch. This is also a problem I've been trying to solve, but
haven't came up with a good solution so far.

You set SMB_WAIT_RECONNECT_TIMEOUT_MIN to 0, but that would conflict with the
socket timeout which is 7 seconds. This is also stated above the loop in
smb2pdu.c:

> ...
>  189         /*
>  190          * Give demultiplex thread up to 10 seconds to each target available for
>  191          * reconnect -- should be greater than cifs socket timeout which is 7
>  192          * seconds.
>  193          */
>  194         while (server->tcpStatus == CifsNeedReconnect) {
> ...

Those 7 seconds are also hardcoded (connect.c):

> 2951         /*
> 2952          * Eventually check for other socket options to change from
> 2953          * the default. sock_setsockopt not used because it expects
> 2954          * user space buffer
> 2955          */
> 2956         socket->sk->sk_rcvtimeo = 7 * HZ;

(bear in mind that this value predates the 2.6 kernel, IOW I don't know the
reasoning to choosing such value)

Maybe we could reduce the hardcoded values and/or apply such mount option to
the socket instead, and, then, base the reconnect on sk_rcvtimeo? Just an idea.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux