callback: replay cache for back channel
nfs41_cb_session stores the last cb_compound reply (whether or not cachethis was set) to handle retry attempts, along with the cb_compound arguments for improved NFS4ERR_SEQ_FALSE_RETRY detection Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
parent
32be705e4d
commit
cc2efe6a96
7 changed files with 265 additions and 80 deletions
|
|
@ -267,8 +267,11 @@ process_rpc_call:
|
|||
reply_msg.acpted_rply.ar_results.where = NULL;
|
||||
reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
|
||||
xdr_replymsg(xdrs, &reply_msg);
|
||||
if (!status)
|
||||
(*cl->cb_xdr)(xdrs, res);
|
||||
if (!status) {
|
||||
(*cl->cb_xdr)(xdrs, res); /* encode the results */
|
||||
xdrs->x_op = XDR_FREE;
|
||||
(*cl->cb_xdr)(xdrs, res); /* free the results */
|
||||
}
|
||||
if (! xdrrec_endofrecord(xdrs, 1)) {
|
||||
fprintf(stderr, "%04x: failed to send REPLY\n", GetCurrentThreadId());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue