SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
commit 8d526d62db
upstream.
Some servers such as Windows 10 will return STATUS_INSUFFICIENT_RESOURCES
as the number of simultaneous SMB3 requests grows (even though the client
has sufficient credits). Return EAGAIN on STATUS_INSUFFICIENT_RESOURCES
so that we can retry writes which fail with this status code.
This (for example) fixes large file copies to Windows 10 on fast networks.
Signed-off-by: Steve French <stfrench@microsoft.com>
CC: Stable <stable@vger.kernel.org>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
1fd49b11c8
Коммит
f49898960a
|
@ -456,7 +456,7 @@ static const struct status_to_posix_error smb2_error_map_table[] = {
|
|||
{STATUS_FILE_INVALID, -EIO, "STATUS_FILE_INVALID"},
|
||||
{STATUS_ALLOTTED_SPACE_EXCEEDED, -EIO,
|
||||
"STATUS_ALLOTTED_SPACE_EXCEEDED"},
|
||||
{STATUS_INSUFFICIENT_RESOURCES, -EREMOTEIO,
|
||||
{STATUS_INSUFFICIENT_RESOURCES, -EAGAIN,
|
||||
"STATUS_INSUFFICIENT_RESOURCES"},
|
||||
{STATUS_DFS_EXIT_PATH_FOUND, -EIO, "STATUS_DFS_EXIT_PATH_FOUND"},
|
||||
{STATUS_DEVICE_DATA_ERROR, -EIO, "STATUS_DEVICE_DATA_ERROR"},
|
||||
|
|
Загрузка…
Ссылка в новой задаче