mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
sunrpc: handle -ENOTCONN in xs_tcp_setup_socket()
xs_tcp_finish_connecting() can return -ENOTCONN but the switch statement
in xs_tcp_setup_socket() treats that as an unhandled error.
If we treat it as a known error it would propagate back to
call_connect_status() which does handle that error code. This appears
to be the intention of the commit (given below) which added -ENOTCONN as
a return status for xs_tcp_finish_connecting().
So add -ENOTCONN to the switch statement as an error to pass through to
the caller.
Link: https://bugzilla.suse.com/show_bug.cgi?id=1231050
Link: https://access.redhat.com/discussions/3434091
Fixes: 01d37c428a
("SUNRPC: xprt_connect() don't abort the task if the transport isn't bound")
Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
parent
59b723cd2a
commit
10f0740234
@ -2459,6 +2459,7 @@ static void xs_tcp_setup_socket(struct work_struct *work)
|
|||||||
case -EHOSTUNREACH:
|
case -EHOSTUNREACH:
|
||||||
case -EADDRINUSE:
|
case -EADDRINUSE:
|
||||||
case -ENOBUFS:
|
case -ENOBUFS:
|
||||||
|
case -ENOTCONN:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk("%s: connect returned unhandled error %d\n",
|
printk("%s: connect returned unhandled error %d\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user