diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmdomain.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmdomain.c | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c index 3995de360264..8a208b06fdd7 100644 --- a/fs/ocfs2/dlm/dlmdomain.c +++ b/fs/ocfs2/dlm/dlmdomain.c | |||
@@ -95,10 +95,14 @@ static DECLARE_WAIT_QUEUE_HEAD(dlm_domain_events); | |||
95 | 95 | ||
96 | #define DLM_DOMAIN_BACKOFF_MS 200 | 96 | #define DLM_DOMAIN_BACKOFF_MS 200 |
97 | 97 | ||
98 | static int dlm_query_join_handler(struct o2net_msg *msg, u32 len, void *data); | 98 | static int dlm_query_join_handler(struct o2net_msg *msg, u32 len, void *data, |
99 | static int dlm_assert_joined_handler(struct o2net_msg *msg, u32 len, void *data); | 99 | void **ret_data); |
100 | static int dlm_cancel_join_handler(struct o2net_msg *msg, u32 len, void *data); | 100 | static int dlm_assert_joined_handler(struct o2net_msg *msg, u32 len, void *data, |
101 | static int dlm_exit_domain_handler(struct o2net_msg *msg, u32 len, void *data); | 101 | void **ret_data); |
102 | static int dlm_cancel_join_handler(struct o2net_msg *msg, u32 len, void *data, | ||
103 | void **ret_data); | ||
104 | static int dlm_exit_domain_handler(struct o2net_msg *msg, u32 len, void *data, | ||
105 | void **ret_data); | ||
102 | 106 | ||
103 | static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm); | 107 | static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm); |
104 | 108 | ||
@@ -466,7 +470,8 @@ static void __dlm_print_nodes(struct dlm_ctxt *dlm) | |||
466 | printk("\n"); | 470 | printk("\n"); |
467 | } | 471 | } |
468 | 472 | ||
469 | static int dlm_exit_domain_handler(struct o2net_msg *msg, u32 len, void *data) | 473 | static int dlm_exit_domain_handler(struct o2net_msg *msg, u32 len, void *data, |
474 | void **ret_data) | ||
470 | { | 475 | { |
471 | struct dlm_ctxt *dlm = data; | 476 | struct dlm_ctxt *dlm = data; |
472 | unsigned int node; | 477 | unsigned int node; |
@@ -630,7 +635,8 @@ void dlm_unregister_domain(struct dlm_ctxt *dlm) | |||
630 | } | 635 | } |
631 | EXPORT_SYMBOL_GPL(dlm_unregister_domain); | 636 | EXPORT_SYMBOL_GPL(dlm_unregister_domain); |
632 | 637 | ||
633 | static int dlm_query_join_handler(struct o2net_msg *msg, u32 len, void *data) | 638 | static int dlm_query_join_handler(struct o2net_msg *msg, u32 len, void *data, |
639 | void **ret_data) | ||
634 | { | 640 | { |
635 | struct dlm_query_join_request *query; | 641 | struct dlm_query_join_request *query; |
636 | enum dlm_query_join_response response; | 642 | enum dlm_query_join_response response; |
@@ -707,7 +713,8 @@ respond: | |||
707 | return response; | 713 | return response; |
708 | } | 714 | } |
709 | 715 | ||
710 | static int dlm_assert_joined_handler(struct o2net_msg *msg, u32 len, void *data) | 716 | static int dlm_assert_joined_handler(struct o2net_msg *msg, u32 len, void *data, |
717 | void **ret_data) | ||
711 | { | 718 | { |
712 | struct dlm_assert_joined *assert; | 719 | struct dlm_assert_joined *assert; |
713 | struct dlm_ctxt *dlm = NULL; | 720 | struct dlm_ctxt *dlm = NULL; |
@@ -744,7 +751,8 @@ static int dlm_assert_joined_handler(struct o2net_msg *msg, u32 len, void *data) | |||
744 | return 0; | 751 | return 0; |
745 | } | 752 | } |
746 | 753 | ||
747 | static int dlm_cancel_join_handler(struct o2net_msg *msg, u32 len, void *data) | 754 | static int dlm_cancel_join_handler(struct o2net_msg *msg, u32 len, void *data, |
755 | void **ret_data) | ||
748 | { | 756 | { |
749 | struct dlm_cancel_join *cancel; | 757 | struct dlm_cancel_join *cancel; |
750 | struct dlm_ctxt *dlm = NULL; | 758 | struct dlm_ctxt *dlm = NULL; |
@@ -1086,105 +1094,105 @@ static int dlm_register_domain_handlers(struct dlm_ctxt *dlm) | |||
1086 | status = o2net_register_handler(DLM_MASTER_REQUEST_MSG, dlm->key, | 1094 | status = o2net_register_handler(DLM_MASTER_REQUEST_MSG, dlm->key, |
1087 | sizeof(struct dlm_master_request), | 1095 | sizeof(struct dlm_master_request), |
1088 | dlm_master_request_handler, | 1096 | dlm_master_request_handler, |
1089 | dlm, &dlm->dlm_domain_handlers); | 1097 | dlm, NULL, &dlm->dlm_domain_handlers); |
1090 | if (status) | 1098 | if (status) |
1091 | goto bail; | 1099 | goto bail; |
1092 | 1100 | ||
1093 | status = o2net_register_handler(DLM_ASSERT_MASTER_MSG, dlm->key, | 1101 | status = o2net_register_handler(DLM_ASSERT_MASTER_MSG, dlm->key, |
1094 | sizeof(struct dlm_assert_master), | 1102 | sizeof(struct dlm_assert_master), |
1095 | dlm_assert_master_handler, | 1103 | dlm_assert_master_handler, |
1096 | dlm, &dlm->dlm_domain_handlers); | 1104 | dlm, NULL, &dlm->dlm_domain_handlers); |
1097 | if (status) | 1105 | if (status) |
1098 | goto bail; | 1106 | goto bail; |
1099 | 1107 | ||
1100 | status = o2net_register_handler(DLM_CREATE_LOCK_MSG, dlm->key, | 1108 | status = o2net_register_handler(DLM_CREATE_LOCK_MSG, dlm->key, |
1101 | sizeof(struct dlm_create_lock), | 1109 | sizeof(struct dlm_create_lock), |
1102 | dlm_create_lock_handler, | 1110 | dlm_create_lock_handler, |
1103 | dlm, &dlm->dlm_domain_handlers); | 1111 | dlm, NULL, &dlm->dlm_domain_handlers); |
1104 | if (status) | 1112 | if (status) |
1105 | goto bail; | 1113 | goto bail; |
1106 | 1114 | ||
1107 | status = o2net_register_handler(DLM_CONVERT_LOCK_MSG, dlm->key, | 1115 | status = o2net_register_handler(DLM_CONVERT_LOCK_MSG, dlm->key, |
1108 | DLM_CONVERT_LOCK_MAX_LEN, | 1116 | DLM_CONVERT_LOCK_MAX_LEN, |
1109 | dlm_convert_lock_handler, | 1117 | dlm_convert_lock_handler, |
1110 | dlm, &dlm->dlm_domain_handlers); | 1118 | dlm, NULL, &dlm->dlm_domain_handlers); |
1111 | if (status) | 1119 | if (status) |
1112 | goto bail; | 1120 | goto bail; |
1113 | 1121 | ||
1114 | status = o2net_register_handler(DLM_UNLOCK_LOCK_MSG, dlm->key, | 1122 | status = o2net_register_handler(DLM_UNLOCK_LOCK_MSG, dlm->key, |
1115 | DLM_UNLOCK_LOCK_MAX_LEN, | 1123 | DLM_UNLOCK_LOCK_MAX_LEN, |
1116 | dlm_unlock_lock_handler, | 1124 | dlm_unlock_lock_handler, |
1117 | dlm, &dlm->dlm_domain_handlers); | 1125 | dlm, NULL, &dlm->dlm_domain_handlers); |
1118 | if (status) | 1126 | if (status) |
1119 | goto bail; | 1127 | goto bail; |
1120 | 1128 | ||
1121 | status = o2net_register_handler(DLM_PROXY_AST_MSG, dlm->key, | 1129 | status = o2net_register_handler(DLM_PROXY_AST_MSG, dlm->key, |
1122 | DLM_PROXY_AST_MAX_LEN, | 1130 | DLM_PROXY_AST_MAX_LEN, |
1123 | dlm_proxy_ast_handler, | 1131 | dlm_proxy_ast_handler, |
1124 | dlm, &dlm->dlm_domain_handlers); | 1132 | dlm, NULL, &dlm->dlm_domain_handlers); |
1125 | if (status) | 1133 | if (status) |
1126 | goto bail; | 1134 | goto bail; |
1127 | 1135 | ||
1128 | status = o2net_register_handler(DLM_EXIT_DOMAIN_MSG, dlm->key, | 1136 | status = o2net_register_handler(DLM_EXIT_DOMAIN_MSG, dlm->key, |
1129 | sizeof(struct dlm_exit_domain), | 1137 | sizeof(struct dlm_exit_domain), |
1130 | dlm_exit_domain_handler, | 1138 | dlm_exit_domain_handler, |
1131 | dlm, &dlm->dlm_domain_handlers); | 1139 | dlm, NULL, &dlm->dlm_domain_handlers); |
1132 | if (status) | 1140 | if (status) |
1133 | goto bail; | 1141 | goto bail; |
1134 | 1142 | ||
1135 | status = o2net_register_handler(DLM_DEREF_LOCKRES_MSG, dlm->key, | 1143 | status = o2net_register_handler(DLM_DEREF_LOCKRES_MSG, dlm->key, |
1136 | sizeof(struct dlm_deref_lockres), | 1144 | sizeof(struct dlm_deref_lockres), |
1137 | dlm_deref_lockres_handler, | 1145 | dlm_deref_lockres_handler, |
1138 | dlm, &dlm->dlm_domain_handlers); | 1146 | dlm, NULL, &dlm->dlm_domain_handlers); |
1139 | if (status) | 1147 | if (status) |
1140 | goto bail; | 1148 | goto bail; |
1141 | 1149 | ||
1142 | status = o2net_register_handler(DLM_MIGRATE_REQUEST_MSG, dlm->key, | 1150 | status = o2net_register_handler(DLM_MIGRATE_REQUEST_MSG, dlm->key, |
1143 | sizeof(struct dlm_migrate_request), | 1151 | sizeof(struct dlm_migrate_request), |
1144 | dlm_migrate_request_handler, | 1152 | dlm_migrate_request_handler, |
1145 | dlm, &dlm->dlm_domain_handlers); | 1153 | dlm, NULL, &dlm->dlm_domain_handlers); |
1146 | if (status) | 1154 | if (status) |
1147 | goto bail; | 1155 | goto bail; |
1148 | 1156 | ||
1149 | status = o2net_register_handler(DLM_MIG_LOCKRES_MSG, dlm->key, | 1157 | status = o2net_register_handler(DLM_MIG_LOCKRES_MSG, dlm->key, |
1150 | DLM_MIG_LOCKRES_MAX_LEN, | 1158 | DLM_MIG_LOCKRES_MAX_LEN, |
1151 | dlm_mig_lockres_handler, | 1159 | dlm_mig_lockres_handler, |
1152 | dlm, &dlm->dlm_domain_handlers); | 1160 | dlm, NULL, &dlm->dlm_domain_handlers); |
1153 | if (status) | 1161 | if (status) |
1154 | goto bail; | 1162 | goto bail; |
1155 | 1163 | ||
1156 | status = o2net_register_handler(DLM_MASTER_REQUERY_MSG, dlm->key, | 1164 | status = o2net_register_handler(DLM_MASTER_REQUERY_MSG, dlm->key, |
1157 | sizeof(struct dlm_master_requery), | 1165 | sizeof(struct dlm_master_requery), |
1158 | dlm_master_requery_handler, | 1166 | dlm_master_requery_handler, |
1159 | dlm, &dlm->dlm_domain_handlers); | 1167 | dlm, NULL, &dlm->dlm_domain_handlers); |
1160 | if (status) | 1168 | if (status) |
1161 | goto bail; | 1169 | goto bail; |
1162 | 1170 | ||
1163 | status = o2net_register_handler(DLM_LOCK_REQUEST_MSG, dlm->key, | 1171 | status = o2net_register_handler(DLM_LOCK_REQUEST_MSG, dlm->key, |
1164 | sizeof(struct dlm_lock_request), | 1172 | sizeof(struct dlm_lock_request), |
1165 | dlm_request_all_locks_handler, | 1173 | dlm_request_all_locks_handler, |
1166 | dlm, &dlm->dlm_domain_handlers); | 1174 | dlm, NULL, &dlm->dlm_domain_handlers); |
1167 | if (status) | 1175 | if (status) |
1168 | goto bail; | 1176 | goto bail; |
1169 | 1177 | ||
1170 | status = o2net_register_handler(DLM_RECO_DATA_DONE_MSG, dlm->key, | 1178 | status = o2net_register_handler(DLM_RECO_DATA_DONE_MSG, dlm->key, |
1171 | sizeof(struct dlm_reco_data_done), | 1179 | sizeof(struct dlm_reco_data_done), |
1172 | dlm_reco_data_done_handler, | 1180 | dlm_reco_data_done_handler, |
1173 | dlm, &dlm->dlm_domain_handlers); | 1181 | dlm, NULL, &dlm->dlm_domain_handlers); |
1174 | if (status) | 1182 | if (status) |
1175 | goto bail; | 1183 | goto bail; |
1176 | 1184 | ||
1177 | status = o2net_register_handler(DLM_BEGIN_RECO_MSG, dlm->key, | 1185 | status = o2net_register_handler(DLM_BEGIN_RECO_MSG, dlm->key, |
1178 | sizeof(struct dlm_begin_reco), | 1186 | sizeof(struct dlm_begin_reco), |
1179 | dlm_begin_reco_handler, | 1187 | dlm_begin_reco_handler, |
1180 | dlm, &dlm->dlm_domain_handlers); | 1188 | dlm, NULL, &dlm->dlm_domain_handlers); |
1181 | if (status) | 1189 | if (status) |
1182 | goto bail; | 1190 | goto bail; |
1183 | 1191 | ||
1184 | status = o2net_register_handler(DLM_FINALIZE_RECO_MSG, dlm->key, | 1192 | status = o2net_register_handler(DLM_FINALIZE_RECO_MSG, dlm->key, |
1185 | sizeof(struct dlm_finalize_reco), | 1193 | sizeof(struct dlm_finalize_reco), |
1186 | dlm_finalize_reco_handler, | 1194 | dlm_finalize_reco_handler, |
1187 | dlm, &dlm->dlm_domain_handlers); | 1195 | dlm, NULL, &dlm->dlm_domain_handlers); |
1188 | if (status) | 1196 | if (status) |
1189 | goto bail; | 1197 | goto bail; |
1190 | 1198 | ||
@@ -1478,21 +1486,21 @@ static int dlm_register_net_handlers(void) | |||
1478 | status = o2net_register_handler(DLM_QUERY_JOIN_MSG, DLM_MOD_KEY, | 1486 | status = o2net_register_handler(DLM_QUERY_JOIN_MSG, DLM_MOD_KEY, |
1479 | sizeof(struct dlm_query_join_request), | 1487 | sizeof(struct dlm_query_join_request), |
1480 | dlm_query_join_handler, | 1488 | dlm_query_join_handler, |
1481 | NULL, &dlm_join_handlers); | 1489 | NULL, NULL, &dlm_join_handlers); |
1482 | if (status) | 1490 | if (status) |
1483 | goto bail; | 1491 | goto bail; |
1484 | 1492 | ||
1485 | status = o2net_register_handler(DLM_ASSERT_JOINED_MSG, DLM_MOD_KEY, | 1493 | status = o2net_register_handler(DLM_ASSERT_JOINED_MSG, DLM_MOD_KEY, |
1486 | sizeof(struct dlm_assert_joined), | 1494 | sizeof(struct dlm_assert_joined), |
1487 | dlm_assert_joined_handler, | 1495 | dlm_assert_joined_handler, |
1488 | NULL, &dlm_join_handlers); | 1496 | NULL, NULL, &dlm_join_handlers); |
1489 | if (status) | 1497 | if (status) |
1490 | goto bail; | 1498 | goto bail; |
1491 | 1499 | ||
1492 | status = o2net_register_handler(DLM_CANCEL_JOIN_MSG, DLM_MOD_KEY, | 1500 | status = o2net_register_handler(DLM_CANCEL_JOIN_MSG, DLM_MOD_KEY, |
1493 | sizeof(struct dlm_cancel_join), | 1501 | sizeof(struct dlm_cancel_join), |
1494 | dlm_cancel_join_handler, | 1502 | dlm_cancel_join_handler, |
1495 | NULL, &dlm_join_handlers); | 1503 | NULL, NULL, &dlm_join_handlers); |
1496 | 1504 | ||
1497 | bail: | 1505 | bail: |
1498 | if (status < 0) | 1506 | if (status < 0) |