aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/dlm/dlmcommon.h
diff options
context:
space:
mode:
authorKurt Hackel <kurt.hackel@oracle.com>2007-01-17 20:04:25 -0500
committerMark Fasheh <mark.fasheh@oracle.com>2007-02-07 15:06:56 -0500
commitd74c9803a90d733f5fb7270475aa6d14b45796c6 (patch)
tree7f402437667103773cfe7d76b56a621183e84094 /fs/ocfs2/dlm/dlmcommon.h
parent74aa25856c693d20a886cdb31a004aaca411d135 (diff)
ocfs2: Added post handler callable function in o2net message handler
Currently o2net allows one handler function per message type. This patch adds the ability to call another function to be called after the handler has returned the message to the other node. Handlers are now given the option of returning a context (in the form of a void **) which will be passed back into the post message handler function. Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/dlm/dlmcommon.h')
-rw-r--r--fs/ocfs2/dlm/dlmcommon.h42
1 files changed, 28 insertions, 14 deletions
diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h
index e95ecb2aaf14..2df6fde3e652 100644
--- a/fs/ocfs2/dlm/dlmcommon.h
+++ b/fs/ocfs2/dlm/dlmcommon.h
@@ -707,16 +707,20 @@ void dlm_lock_put(struct dlm_lock *lock);
707void dlm_lock_attach_lockres(struct dlm_lock *lock, 707void dlm_lock_attach_lockres(struct dlm_lock *lock,
708 struct dlm_lock_resource *res); 708 struct dlm_lock_resource *res);
709 709
710int dlm_create_lock_handler(struct o2net_msg *msg, u32 len, void *data); 710int dlm_create_lock_handler(struct o2net_msg *msg, u32 len, void *data,
711int dlm_convert_lock_handler(struct o2net_msg *msg, u32 len, void *data); 711 void **ret_data);
712int dlm_proxy_ast_handler(struct o2net_msg *msg, u32 len, void *data); 712int dlm_convert_lock_handler(struct o2net_msg *msg, u32 len, void *data,
713 void **ret_data);
714int dlm_proxy_ast_handler(struct o2net_msg *msg, u32 len, void *data,
715 void **ret_data);
713 716
714void dlm_revert_pending_convert(struct dlm_lock_resource *res, 717void dlm_revert_pending_convert(struct dlm_lock_resource *res,
715 struct dlm_lock *lock); 718 struct dlm_lock *lock);
716void dlm_revert_pending_lock(struct dlm_lock_resource *res, 719void dlm_revert_pending_lock(struct dlm_lock_resource *res,
717 struct dlm_lock *lock); 720 struct dlm_lock *lock);
718 721
719int dlm_unlock_lock_handler(struct o2net_msg *msg, u32 len, void *data); 722int dlm_unlock_lock_handler(struct o2net_msg *msg, u32 len, void *data,
723 void **ret_data);
720void dlm_commit_pending_cancel(struct dlm_lock_resource *res, 724void dlm_commit_pending_cancel(struct dlm_lock_resource *res,
721 struct dlm_lock *lock); 725 struct dlm_lock *lock);
722void dlm_commit_pending_unlock(struct dlm_lock_resource *res, 726void dlm_commit_pending_unlock(struct dlm_lock_resource *res,
@@ -871,16 +875,26 @@ void dlm_lockres_release_ast(struct dlm_ctxt *dlm,
871 struct dlm_lock_resource *res); 875 struct dlm_lock_resource *res);
872void __dlm_lockres_reserve_ast(struct dlm_lock_resource *res); 876void __dlm_lockres_reserve_ast(struct dlm_lock_resource *res);
873 877
874int dlm_master_request_handler(struct o2net_msg *msg, u32 len, void *data); 878int dlm_master_request_handler(struct o2net_msg *msg, u32 len, void *data,
875int dlm_assert_master_handler(struct o2net_msg *msg, u32 len, void *data); 879 void **ret_data);
876int dlm_deref_lockres_handler(struct o2net_msg *msg, u32 len, void *data); 880int dlm_assert_master_handler(struct o2net_msg *msg, u32 len, void *data,
877int dlm_migrate_request_handler(struct o2net_msg *msg, u32 len, void *data); 881 void **ret_data);
878int dlm_mig_lockres_handler(struct o2net_msg *msg, u32 len, void *data); 882int dlm_deref_lockres_handler(struct o2net_msg *msg, u32 len, void *data,
879int dlm_master_requery_handler(struct o2net_msg *msg, u32 len, void *data); 883 void **ret_data);
880int dlm_request_all_locks_handler(struct o2net_msg *msg, u32 len, void *data); 884int dlm_migrate_request_handler(struct o2net_msg *msg, u32 len, void *data,
881int dlm_reco_data_done_handler(struct o2net_msg *msg, u32 len, void *data); 885 void **ret_data);
882int dlm_begin_reco_handler(struct o2net_msg *msg, u32 len, void *data); 886int dlm_mig_lockres_handler(struct o2net_msg *msg, u32 len, void *data,
883int dlm_finalize_reco_handler(struct o2net_msg *msg, u32 len, void *data); 887 void **ret_data);
888int dlm_master_requery_handler(struct o2net_msg *msg, u32 len, void *data,
889 void **ret_data);
890int dlm_request_all_locks_handler(struct o2net_msg *msg, u32 len, void *data,
891 void **ret_data);
892int dlm_reco_data_done_handler(struct o2net_msg *msg, u32 len, void *data,
893 void **ret_data);
894int dlm_begin_reco_handler(struct o2net_msg *msg, u32 len, void *data,
895 void **ret_data);
896int dlm_finalize_reco_handler(struct o2net_msg *msg, u32 len, void *data,
897 void **ret_data);
884int dlm_do_master_requery(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, 898int dlm_do_master_requery(struct dlm_ctxt *dlm, struct dlm_lock_resource *res,
885 u8 nodenum, u8 *real_master); 899 u8 nodenum, u8 *real_master);
886 900