SUNRPC: Fix a race in rpciod_down()
The commit 4ada539e 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: NTrond Myklebust <Trond.Myklebust@netapp.com>
Showing
想要评论请 注册 或 登录