NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 30 Jan 2013 18:04:10 +0000 (13:04 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jun 2014 23:02:05 +0000 (16:02 -0700)
commitba7959277325911b09944c5aedf3c4bf139be2f2
tree4e1878c8e195e1c64e6f57aae4bab372b46cbf20
parent0c5fa16a931d8c8297bff1da1cdb98a6fb8f3377
NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session

commit c489ee290bdbbace6bb63ebe6ebd4dd605819495 upstream.

NFS4ERR_DELAY is a legal reply when we call DESTROY_SESSION. It
usually means that the server is busy handling an unfinished RPC
request. Just sleep for a second and then retry.
We also need to be able to handle the NFS4ERR_BACK_CHAN_BUSY return
value. If the NFS server has outstanding callbacks, we just want to
similarly sleep & retry.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Rui Xiang <rui.xiang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/nfs4state.c