nfsd: fix nfsd4_cb_recall_done error handling
authorChristoph Hellwig <hch@lst.de>
Tue, 23 Sep 2014 06:58:48 +0000 (08:58 +0200)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 26 Sep 2014 20:29:25 +0000 (16:29 -0400)
commit444b6e910d2a637cc144c74b15efd1b61bf737bb
tree53397fbe87fee6e7416a25daacde972ba3c5d19d
parent70b2823535d2d884eef2d3dab0dfd0ec3da8a019
nfsd: fix nfsd4_cb_recall_done error handling

For any error that is not EBADHANDLE or NFS4ERR_BAD_STATEID,
nfsd4_cb_recall_done first marks the connection down, then
retries until dl_retries hits zero, then marks the connection down
again and sets cb_done.  This changes the code to only retry
for EBADHANDLE or NFS4ERR_BAD_STATEID, and factors setting
cb_done into a single point in the function.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4callback.c