SUNRPC: Destroy transport from the system workqueue
authorTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 19 Oct 2017 16:13:10 +0000 (12:13 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 19 Oct 2017 16:17:56 +0000 (12:17 -0400)
commit528fd3547bad0bdd31c8f987e5bd00c83df8af39
treeb3c63debe9be5b6cf44b386066e453b6094d8a8a
parent4c625a974fb81724e60966b677e47fcba782c950
SUNRPC: Destroy transport from the system workqueue

The transport may need to flush transport connect and receive tasks
that are running on rpciod. In order to do so safely, we need to
ensure that the caller of cancel_work_sync() etc is not itself
running on rpciod.
Do so by running the destroy task from the system workqueue.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/xprt.c