]> git.baikalelectronics.ru Git - kernel.git/commitdiff
NFSv4.1: Don't process the sequence op more than once.
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 1 Mar 2019 16:40:05 +0000 (11:40 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 1 Mar 2019 17:16:28 +0000 (12:16 -0500)
Ensure that if we call nfs41_sequence_process() a second time for the
same rpc_task, then we only process the results once.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4proc.c

index 5f8517d1a0a5de2d8364f8cb0f25b0d9183cf660..5b980246b03533270c4c5d329e652f66c2e4248c 100644 (file)
@@ -754,7 +754,7 @@ static int nfs41_sequence_process(struct rpc_task *task,
        if (slot == NULL)
                goto out_noaction;
        /* don't increment the sequence number if the task wasn't sent */
-       if (!RPC_WAS_SENT(task))
+       if (!RPC_WAS_SENT(task) || slot->seq_done)
                goto out;
 
        session = slot->table->session;