Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24119673 authored by Weston Andros Adamson's avatar Weston Andros Adamson Committed by J. Bruce Fields
Browse files

nfsd: probe the back channel on new connections



Initiate a CB probe when a new connection with the correct direction is added
to a session (IFF backchannel is marked as down).  Without this a
BIND_CONN_TO_SESSION has no effect on the internal backchannel state, which
causes the server to reply to every SEQUENCE op with the
SEQ4_STATUS_CB_PATH_DOWN flag set until DESTROY_SESSION.

Signed-off-by: default avatarWeston Andros Adamson <dros@netapp.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 9023a409
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -862,6 +862,11 @@ static __be32 nfsd4_new_conn(struct svc_rqst *rqstp, struct nfsd4_session *ses,
	if (ret)
		/* oops; xprt is already down: */
		nfsd4_conn_lost(&conn->cn_xpt_user);
	if (ses->se_client->cl_cb_state == NFSD4_CB_DOWN &&
		dir & NFS4_CDFC4_BACK) {
		/* callback channel may be back up */
		nfsd4_probe_callback(ses->se_client);
	}
	return nfs_ok;
}