summaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-02-19 20:04:21 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-02-25 21:40:34 -0800
commit32bfb5c0f495dd88ef6bac4b76885d0820563739 (patch)
tree01adff1612a7aaad148a322b79bc02224e8ca735 /include/linux/sunrpc
parent383ba71938519959be8e0b598ec658f0c211ff45 (diff)
downloadlinux-32bfb5c0f495dd88ef6bac4b76885d0820563739.tar.gz
linux-32bfb5c0f495dd88ef6bac4b76885d0820563739.tar.bz2
linux-32bfb5c0f495dd88ef6bac4b76885d0820563739.zip
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.h1
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 {
const struct rpc_message *rpc_message;
const struct rpc_call_ops *callback_ops;
void *callback_data;
+ struct workqueue_struct *workqueue;
unsigned short flags;
signed char priority;
};