diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-02-19 20:04:21 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-02-26 00:40:34 -0500 |
commit | 32bfb5c0f495dd88ef6bac4b76885d0820563739 (patch) | |
tree | 01adff1612a7aaad148a322b79bc02224e8ca735 /include/linux/sunrpc | |
parent | 383ba71938519959be8e0b598ec658f0c211ff45 (diff) |
SUNRPC: Allow the rpc_release() callback to be run on another workqueue
A lot of the work done by the rpc_release() callback is inappropriate for
rpciod as it will often involve things like starting a new rpc call in
order to clean up state after an interrupted NFSv4 open() call, or
calls to mntput(), etc.
This patch allows the caller of rpc_run_task() to specify that the
rpc_release callback should run on a different workqueue than the default
rpciod_workqueue.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/sched.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index f689f02e6793..fefb0ab52189 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h | |||
@@ -123,6 +123,7 @@ struct rpc_task_setup { | |||
123 | const struct rpc_message *rpc_message; | 123 | const struct rpc_message *rpc_message; |
124 | const struct rpc_call_ops *callback_ops; | 124 | const struct rpc_call_ops *callback_ops; |
125 | void *callback_data; | 125 | void *callback_data; |
126 | struct workqueue_struct *workqueue; | ||
126 | unsigned short flags; | 127 | unsigned short flags; |
127 | signed char priority; | 128 | signed char priority; |
128 | }; | 129 | }; |