On Wed, Oct 27, 2010 at 07:45:49PM +0200, Benny Halevy wrote: > On 2010-10-27 19:26, Benny Halevy wrote: > > On 2010-10-21 18:20, J. Bruce Fields wrote: > >> From: J. Bruce Fields <bfields@xxxxxxxxxxxxxx> > >> > >> The backchannel should be associated with a session, it isn't really > >> global to the client. > >> > >> We do, however, want a pointer global to the client which tracks which > >> session we're currently using for client-based callbacks. > >> > >> This is a first step in that direction; for now, just reshuffling of > >> code with no significant change in behavior. > >> > >> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxxxxxx> > >> --- > >> fs/nfsd/nfs4state.c | 29 ++++++++++++++--------------- > >> fs/nfsd/state.h | 1 + > >> 2 files changed, 15 insertions(+), 15 deletions(-) > >> > >> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > >> index 7f12828..db5d8c8 100644 > >> --- a/fs/nfsd/nfs4state.c > >> +++ b/fs/nfsd/nfs4state.c > >> @@ -771,6 +771,19 @@ static __be32 alloc_init_session(struct svc_rqst *rqstp, struct nfs4_client *clp > >> free_session(&new->se_ref); > >> return nfserr_jukebox; > >> } > >> + if (!clp->cl_cb_session && (cses->flags & SESSION4_BACK_CHAN)) { > >> + struct sockaddr *sa = svc_addr(rqstp); > >> + > >> + clp->cl_cb_session = new; > >> + clp->cl_cb_conn.cb_xprt = rqstp->rq_xprt; > >> + svc_xprt_get(rqstp->rq_xprt); > >> + rpc_copy_addr((struct sockaddr *)&clp->cl_cb_conn.cb_addr, sa); > >> + clp->cl_cb_conn.cb_addrlen = svc_addr_len(sa); > >> + clp->cl_cb_conn.cb_minorversion = 1; > >> + clp->cl_cb_conn.cb_prog = cses->callback_prog; > >> + clp->cl_cb_seq_nr = 1; > >> + nfsd4_probe_callback(clp, &clp->cl_cb_conn); > >> + } > > > > else > > cses->flags &= ~SESSION4_BACK_CHAN; > > > > We need that for returning the right value in csr_flags > > Though after "nfsd4: track backchannel connections", > we mark the connection correctly. > Too late to worry about bisectibility now :) Erp, yes. We should try to coordinate review better, apologies if I haven't been leaving enough time. Let me know if you catch anything else. --b. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html