mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
nfsd41: Backchannel: Server backchannel RPC wait queue
RPC callback requests will wait on this wait queue if the backchannel is out of slots. Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
132f97715c
commit
199ff35e1c
2 changed files with 6 additions and 0 deletions
|
@ -775,6 +775,8 @@ static struct nfs4_client *create_client(struct xdr_netobj name, char *recdir)
|
||||||
INIT_LIST_HEAD(&clp->cl_delegations);
|
INIT_LIST_HEAD(&clp->cl_delegations);
|
||||||
INIT_LIST_HEAD(&clp->cl_sessions);
|
INIT_LIST_HEAD(&clp->cl_sessions);
|
||||||
INIT_LIST_HEAD(&clp->cl_lru);
|
INIT_LIST_HEAD(&clp->cl_lru);
|
||||||
|
clear_bit(0, &clp->cl_cb_slot_busy);
|
||||||
|
rpc_init_wait_queue(&clp->cl_cb_waitq, "Backchannel slot table");
|
||||||
return clp;
|
return clp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -219,7 +219,11 @@ struct nfs4_client {
|
||||||
struct nfs4_sessionid cl_sessionid;
|
struct nfs4_sessionid cl_sessionid;
|
||||||
|
|
||||||
/* for nfs41 callbacks */
|
/* for nfs41 callbacks */
|
||||||
|
/* We currently support a single back channel with a single slot */
|
||||||
|
unsigned long cl_cb_slot_busy;
|
||||||
struct svc_xprt *cl_cb_xprt; /* 4.1 callback transport */
|
struct svc_xprt *cl_cb_xprt; /* 4.1 callback transport */
|
||||||
|
struct rpc_wait_queue cl_cb_waitq; /* backchannel callers may */
|
||||||
|
/* wait here for slots */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* struct nfs4_client_reset
|
/* struct nfs4_client_reset
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue