]> git.baikalelectronics.ru Git - kernel.git/commit
Handle STATUS_IO_TIMEOUT gracefully
authorRohith Surabattula <rohiths@microsoft.com>
Fri, 18 Sep 2020 05:37:28 +0000 (05:37 +0000)
committerSteve French <stfrench@microsoft.com>
Fri, 16 Oct 2020 04:58:04 +0000 (23:58 -0500)
commit2e1c5ad813e8dbf3fca576abe3e67a3a0b9a3b69
treeab0a3802b3b1ae95c652569bb838c3a92e054f60
parent233fb66c529044f04c2d81b505dbbd2275c9299e
Handle STATUS_IO_TIMEOUT gracefully

Currently STATUS_IO_TIMEOUT is not treated as retriable error.
It is currently mapped to ETIMEDOUT and returned to userspace
for most system calls. STATUS_IO_TIMEOUT is returned by server
in case of unavailability or throttling errors.

This patch will map the STATUS_IO_TIMEOUT to EAGAIN, so that it
can be retried. Also, added a check to drop the connection to
not overload the server in case of ongoing unavailability.

Signed-off-by: Rohith Surabattula <rohiths@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cifsglob.h
fs/cifs/connect.c
fs/cifs/smb2maperror.c
fs/cifs/smb2ops.c