projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tcp: fix recv with flags MSG_WAITALL | MSG_PEEK
[firefly-linux-kernel-4.4.55.git]
/
net
/
sunrpc
/
clnt.c
diff --git
a/net/sunrpc/clnt.c
b/net/sunrpc/clnt.c
index f41ed882ed3cd0d149131cbcf5bc6bdcd3b159e8..cbc6af923dd1cb0baabc95161989133150269d4f 100644
(file)
--- a/
net/sunrpc/clnt.c
+++ b/
net/sunrpc/clnt.c
@@
-1031,6
+1031,7
@@
struct rpc_task *rpc_run_bc_task(struct rpc_rqst *req)
struct xdr_buf *xbufp = &req->rq_snd_buf;
struct rpc_task_setup task_setup_data = {
.callback_ops = &rpc_default_ops,
struct xdr_buf *xbufp = &req->rq_snd_buf;
struct rpc_task_setup task_setup_data = {
.callback_ops = &rpc_default_ops,
+ .flags = RPC_TASK_SOFTCONN,
};
dprintk("RPC: rpc_run_bc_task req= %p\n", req);
};
dprintk("RPC: rpc_run_bc_task req= %p\n", req);
@@
-1964,10
+1965,15
@@
call_bc_transmit(struct rpc_task *task)
switch (task->tk_status) {
case 0:
/* Success */
switch (task->tk_status) {
case 0:
/* Success */
- break;
case -EHOSTDOWN:
case -EHOSTUNREACH:
case -ENETUNREACH:
case -EHOSTDOWN:
case -EHOSTUNREACH:
case -ENETUNREACH:
+ case -ECONNRESET:
+ case -ECONNREFUSED:
+ case -EADDRINUSE:
+ case -ENOTCONN:
+ case -EPIPE:
+ break;
case -ETIMEDOUT:
/*
* Problem reaching the server. Disconnect and let the
case -ETIMEDOUT:
/*
* Problem reaching the server. Disconnect and let the