summaryrefslogtreecommitdiffstats
path: root/fs/dlm/ast.h
diff options
context:
space:
mode:
authorDavid Teigland2011-04-05 20:16:24 +0200
committerDavid Teigland2011-07-15 19:30:43 +0200
commit23e8e1aaacb10d9f05e44a93e10ea4ee5b3838a5 (patch)
tree7c94bc4eeb9dfd85a26869003c56dc45fc6fd697 /fs/dlm/ast.h
parentdlm: remove deadlock debug print (diff)
downloadkernel-qcow2-linux-23e8e1aaacb10d9f05e44a93e10ea4ee5b3838a5.tar.gz
kernel-qcow2-linux-23e8e1aaacb10d9f05e44a93e10ea4ee5b3838a5.tar.xz
kernel-qcow2-linux-23e8e1aaacb10d9f05e44a93e10ea4ee5b3838a5.zip
dlm: use workqueue for callbacks
Instead of creating our own kthread (dlm_astd) to deliver callbacks for all lockspaces, use a per-lockspace workqueue to deliver the callbacks. This eliminates complications and slowdowns from many lockspaces sharing the same thread. Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/ast.h')
-rw-r--r--fs/dlm/ast.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/dlm/ast.h b/fs/dlm/ast.h
index 8aa89c9b5611..757b551c6820 100644
--- a/fs/dlm/ast.h
+++ b/fs/dlm/ast.h
@@ -18,14 +18,15 @@ int dlm_add_lkb_callback(struct dlm_lkb *lkb, uint32_t flags, int mode,
int status, uint32_t sbflags, uint64_t seq);
int dlm_rem_lkb_callback(struct dlm_ls *ls, struct dlm_lkb *lkb,
struct dlm_callback *cb, int *resid);
-void dlm_add_ast(struct dlm_lkb *lkb, uint32_t flags, int mode, int status,
- uint32_t sbflags);
+void dlm_add_cb(struct dlm_lkb *lkb, uint32_t flags, int mode, int status,
+ uint32_t sbflags);
-void dlm_astd_wake(void);
-int dlm_astd_start(void);
-void dlm_astd_stop(void);
-void dlm_astd_suspend(void);
-void dlm_astd_resume(void);
+void dlm_callback_work(struct work_struct *work);
+int dlm_callback_start(struct dlm_ls *ls);
+void dlm_callback_stop(struct dlm_ls *ls);
+void dlm_callback_suspend(struct dlm_ls *ls);
+void dlm_callback_resume(struct dlm_ls *ls);
#endif
+