aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2011-02-28 20:34:20 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-03-11 15:38:43 -0500
commitcbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8 (patch)
tree16939b96996e8380d91d7e2743e811cf5c49f629 /net/sunrpc
parentdc70d7b3189597f313df7bd2da849cfc39063b15 (diff)
NFSv4.1: filelayout async error handler
Use our own async error handler. Mark the layout as failed and retry i/o through the MDS on specified errors. Update the mds_offset in nfs_readpage_retry so that a failed short-read retry to a DS gets correctly resent through the MDS. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/clnt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 8b5a6b40d37c..edaf56e2ed29 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -597,6 +597,14 @@ void rpc_task_set_client(struct rpc_task *task, struct rpc_clnt *clnt)
597 } 597 }
598} 598}
599 599
600void rpc_task_reset_client(struct rpc_task *task, struct rpc_clnt *clnt)
601{
602 rpc_task_release_client(task);
603 rpc_task_set_client(task, clnt);
604}
605EXPORT_SYMBOL_GPL(rpc_task_reset_client);
606
607
600static void 608static void
601rpc_task_set_rpc_message(struct rpc_task *task, const struct rpc_message *msg) 609rpc_task_set_rpc_message(struct rpc_task *task, const struct rpc_message *msg)
602{ 610{