CIFS: Indicate reconnect with ECONNABORTED error code
that let us not mix it with EAGAIN. Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:
Родитель
bed9da0213
Коммит
3fabaa2746
|
@ -557,7 +557,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig,
|
|||
try_to_freeze();
|
||||
|
||||
if (server_unresponsive(server)) {
|
||||
total_read = -EAGAIN;
|
||||
total_read = -ECONNABORTED;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -571,7 +571,7 @@ cifs_readv_from_socket(struct TCP_Server_Info *server, struct kvec *iov_orig,
|
|||
break;
|
||||
} else if (server->tcpStatus == CifsNeedReconnect) {
|
||||
cifs_reconnect(server);
|
||||
total_read = -EAGAIN;
|
||||
total_read = -ECONNABORTED;
|
||||
break;
|
||||
} else if (length == -ERESTARTSYS ||
|
||||
length == -EAGAIN ||
|
||||
|
@ -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"
|
||||
"got %d", to_read, length);
|
||||
cifs_reconnect(server);
|
||||
total_read = -EAGAIN;
|
||||
total_read = -ECONNABORTED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -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_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -EAGAIN;
|
||||
return -ECONNABORTED;
|
||||
}
|
||||
|
||||
/* 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,
|
|||
total_read += result;
|
||||
}
|
||||
|
||||
return total_read > 0 && result != -EAGAIN ? total_read : result;
|
||||
return total_read > 0 && result != -ECONNABORTED ? total_read : result;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -3359,7 +3359,7 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server,
|
|||
total_read += result;
|
||||
}
|
||||
|
||||
return total_read > 0 && result != -EAGAIN ? total_read : result;
|
||||
return total_read > 0 && result != -ECONNABORTED ? total_read : result;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Загрузка…
Ссылка в новой задаче