diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-03-01 19:40:05 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-03-01 20:16:28 +0300 |
commit | c71c46f0157348a6c1c66f7d382c770ffc212724 (patch) | |
tree | 79f60fe16b0d16a611e2b442f164b4ab330f36e2 /fs | |
parent | c1dffe0bf7f9c3d57d9f237a7cb2a81e62babd2b (diff) | |
download | linux-c71c46f0157348a6c1c66f7d382c770ffc212724.tar.xz |
NFSv4.1: Don't process the sequence op more than once.
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 5f8517d1a0a5..5b980246b035 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -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; |