summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust2008-02-20 02:04:21 +0100
committerTrond Myklebust2008-02-26 06:40:34 +0100
commit32bfb5c0f495dd88ef6bac4b76885d0820563739 (patch)
tree01adff1612a7aaad148a322b79bc02224e8ca735 /include
parentNFS: Fix a deadlock with lazy umount (diff)
downloadkernel-qcow2-linux-32bfb5c0f495dd88ef6bac4b76885d0820563739.tar.gz
kernel-qcow2-linux-32bfb5c0f495dd88ef6bac4b76885d0820563739.tar.xz
kernel-qcow2-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')
-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;
};