NFSv4: When recovering state fails with EAGAIN, retry the same recovery
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 22 Jul 2019 08:54:29 +0000 (09:54 +0100)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 5 Aug 2019 02:35:40 +0000 (22:35 -0400)
commitc34fae003c79570b6c930b425fea3f0b7b1e7056
tree1ff4f0eb398bfa7d4eb2553651f31ce8981f45d9
parent86dbd08b32838dc8940ccab2eebd47cf80224494
NFSv4: When recovering state fails with EAGAIN, retry the same recovery

If the server returns with EAGAIN when we're trying to recover from
a server reboot, we currently delay for 1 second, but then mark the
stateid as needing recovery after the grace period has expired.

Instead, we should just retry the same recovery process immediately
after the 1 second delay. Break out of the loop after 10 retries.

Fixes: 35a61606a612 ("NFS: Reduce indentation of the switch statement...")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4state.c