diff options
author | Roberto Bergantinos Corpas <rbergant@redhat.com> | 2020-07-03 11:29:32 +0200 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2020-08-02 18:00:25 -0500 |
commit | a3713ec3d775ff9da2e46f6652b23ff598c3ed36 (patch) | |
tree | 5c1fa23d25a7dac7423b5a42a53c2fa14329d9e2 /fs/cifs/transport.c | |
parent | 66a4bbc327e740c65b19a471fb9911f7f4b876fb (diff) | |
download | lwn-a3713ec3d775ff9da2e46f6652b23ff598c3ed36.tar.gz lwn-a3713ec3d775ff9da2e46f6652b23ff598c3ed36.zip |
cifs`: handle ERRBaduid for SMB1
If server returns ERRBaduid but does not reset transport connection,
we'll keep sending command with a non-valid UID for the server as long
as transport is healthy, without actually recovering. This have been
observed on the field.
This patch adds ERRBaduid handling so that we set CifsNeedReconnect.
map_and_check_smb_error() can be modified to extend use cases.
Signed-off-by: Roberto Bergantinos Corpas <rbergant@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Diffstat (limited to 'fs/cifs/transport.c')
-rw-r--r-- | fs/cifs/transport.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 84433d0653f9..ac7632482736 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c @@ -936,7 +936,7 @@ cifs_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server, } /* BB special case reconnect tid and uid here? */ - return map_smb_to_linux_error(mid->resp_buf, log_error); + return map_and_check_smb_error(mid, log_error); } struct mid_q_entry * |