提交 3fabaa27 编写于 作者: P Pavel Shilovsky 提交者: Steve French

CIFS: Indicate reconnect with ECONNABORTED error code

that let us not mix it with EAGAIN.
Signed-off-by: NPavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: NSteve French <smfrench@gmail.com>
上级 bed9da02
...@@ -557,7 +557,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig, ...@@ -557,7 +557,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig,
try_to_freeze(); try_to_freeze();
if (server_unresponsive(server)) { if (server_unresponsive(server)) {
total_read = -EAGAIN; total_read = -ECONNABORTED;
break; break;
} }
...@@ -571,7 +571,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig, ...@@ -571,7 +571,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig,
break; break;
} else if (server->tcpStatus == CifsNeedReconnect) { } else if (server->tcpStatus == CifsNeedReconnect) {
cifs_reconnect(server); cifs_reconnect(server);
total_read = -EAGAIN; total_read = -ECONNABORTED;
break; break;
} else if (length == -ERESTARTSYS || } else if (length == -ERESTARTSYS ||
length == -EAGAIN || length == -EAGAIN ||
...@@ -588,7 +588,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig, ...@@ -588,7 +588,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig,
cifs_dbg(FYI, "Received no data or error: expecting %d\n" cifs_dbg(FYI, "Received no data or error: expecting %d\n"
"got %d", to_read, length); "got %d", to_read, length);
cifs_reconnect(server); cifs_reconnect(server);
total_read = -EAGAIN; total_read = -ECONNABORTED;
break; break;
} }
} }
...@@ -786,7 +786,7 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid) ...@@ -786,7 +786,7 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid)
cifs_dbg(VFS, "SMB response too long (%u bytes)\n", pdu_length); cifs_dbg(VFS, "SMB response too long (%u bytes)\n", pdu_length);
cifs_reconnect(server); cifs_reconnect(server);
wake_up(&server->response_q); wake_up(&server->response_q);
return -EAGAIN; return -ECONNABORTED;
} }
/* switch to large buffer if too big for a small one */ /* switch to large buffer if too big for a small one */
......
...@@ -2909,7 +2909,7 @@ cifs_uncached_read_into_pages(struct TCP_Server_Info *server, ...@@ -2909,7 +2909,7 @@ cifs_uncached_read_into_pages(struct TCP_Server_Info *server,
total_read += result; total_read += result;
} }
return total_read > 0 && result != -EAGAIN ? total_read : result; return total_read > 0 && result != -ECONNABORTED ? total_read : result;
} }
static int static int
...@@ -3359,7 +3359,7 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server, ...@@ -3359,7 +3359,7 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server,
total_read += result; total_read += result;
} }
return total_read > 0 && result != -EAGAIN ? total_read : result; return total_read > 0 && result != -ECONNABORTED ? total_read : result;
} }
static int static int
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册