summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4session.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-12-15 15:36:07 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-12-15 15:39:59 -0500
commitac20d163fccf9fa6acec8b68f127003635e13b72 (patch)
tree2424cf9b4a61b6889e484b35c6385d1bf1e03600 /fs/nfs/nfs4session.c
parent8e63b6a8adabb0551124c3b78f7f5f36912c3728 (diff)
downloadlinux-0-day-ac20d163fccf9fa6acec8b68f127003635e13b72.tar.gz
linux-0-day-ac20d163fccf9fa6acec8b68f127003635e13b72.tar.xz
NFSv4.1: Deal effectively with interrupted RPC calls.
If an RPC call is interrupted, assume that the server hasn't processed the RPC call so that the next time we use the slot, we know that if we get a NFS4ERR_SEQ_MISORDERED or NFS4ERR_SEQ_FALSE_RETRY, we just have to bump the sequence number. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4session.c')
-rw-r--r--fs/nfs/nfs4session.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4session.c b/fs/nfs/nfs4session.c
index 0e1cc1f4e51aa..ebda5f4a031b7 100644
--- a/fs/nfs/nfs4session.c
+++ b/fs/nfs/nfs4session.c
@@ -172,6 +172,7 @@ static void nfs4_reset_slot_table(struct nfs4_slot_table *tbl,
p = &tbl->slots;
while (*p) {
(*p)->seq_nr = ivalue;
+ (*p)->interrupted = 0;
p = &(*p)->next;
}
tbl->highest_used_slotid = NFS4_NO_SLOT;