mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
NFSv4.1: Delay callback processing when there are referring triples
If CB_SEQUENCE tells us that the processing of this request depends on the completion of one or more referring triples (see RFC 5661 Section 2.10.6.3), delay the callback processing until after the RPC requests being referred to have completed. If we end up delaying for more than 1/2 second, then fall back to returning NFS4ERR_DELAY in reply to the callback. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
e09c978aae
commit
045d2a6d07
4 changed files with 29 additions and 4 deletions
|
@ -454,8 +454,8 @@ static bool referring_call_exists(struct nfs_client *clp,
|
|||
((u32 *)&rclist->rcl_sessionid.data)[3],
|
||||
ref->rc_sequenceid, ref->rc_slotid);
|
||||
|
||||
status = nfs4_slot_seqid_in_use(tbl, ref->rc_slotid,
|
||||
ref->rc_sequenceid);
|
||||
status = nfs4_slot_wait_on_seqid(tbl, ref->rc_slotid,
|
||||
ref->rc_sequenceid, HZ >> 1) < 0;
|
||||
if (status)
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue