commit | b247bbf1da69ce376aa1ceb8057331214589e366 | [log] [tgz] |
---|---|---|
author | Trond Myklebust <Trond.Myklebust@netapp.com> | Thu Jul 19 16:32:20 2007 -0400 |
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | Tue Aug 07 15:13:16 2007 -0400 |
tree | 95451eff3963389d5cb2b93bb74b71f89826bb68 | |
parent | 4a2a4df7b6db25df8f3d5cc6dd0b096119359d92 [diff] |
SUNRPC: Fix a race in rpciod_down() The commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b lead to the unpleasant possibility of an asynchronous rpc_task being required to call rpciod_down() when it is complete. This again means that the rpciod workqueue may get to call destroy_workqueue on itself -> hang... Change rpciod_up/rpciod_down to just get/put the module, and then create/destroy the workqueues on module load/unload. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>