diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-01-04 12:50:30 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-01-04 12:59:30 -0500 |
commit | 360e1a534901592b289ba8768fc71b6e6ad49070 (patch) | |
tree | da7e6cf25fc31ebe1279fcfd4ab67dc45eeb95ec /net | |
parent | 6db6dd7d3fd8f7c765dabc376493d6791ab28bd6 (diff) |
SUNRPC: Partial revert of commit 168e4b39d1afb79a7e3ea6c3bb246b4c82c6bdb9
Partially revert commit (SUNRPC: add WARN_ON_ONCE for potential deadlock).
The looping behaviour has been tracked down to a knownn issue with
workqueues, and a workaround has now been implemented.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Weston Andros Adamson <dros@netapp.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Bruce Fields <bfields@fieldses.org>
Cc: stable@vger.kernel.org [>= 3.7]
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/clnt.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 822f020fa7f4..1915ffe598e3 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -610,11 +610,6 @@ EXPORT_SYMBOL_GPL(rpc_killall_tasks); | |||
610 | */ | 610 | */ |
611 | void rpc_shutdown_client(struct rpc_clnt *clnt) | 611 | void rpc_shutdown_client(struct rpc_clnt *clnt) |
612 | { | 612 | { |
613 | /* | ||
614 | * To avoid deadlock, never call rpc_shutdown_client from a | ||
615 | * workqueue context! | ||
616 | */ | ||
617 | WARN_ON_ONCE(current->flags & PF_WQ_WORKER); | ||
618 | might_sleep(); | 613 | might_sleep(); |
619 | 614 | ||
620 | dprintk_rcu("RPC: shutting down %s client for %s\n", | 615 | dprintk_rcu("RPC: shutting down %s client for %s\n", |