Lines Matching refs:mh

279 	struct dlm_mhandle *mh = container_of(rcu, struct dlm_mhandle, rcu);  in dlm_mhandle_release()  local
281 dlm_lowcomms_put_msg(mh->msg); in dlm_mhandle_release()
282 kfree(mh); in dlm_mhandle_release()
286 struct dlm_mhandle *mh) in dlm_mhandle_delete() argument
288 list_del_rcu(&mh->list); in dlm_mhandle_delete()
290 call_rcu(&mh->rcu, dlm_mhandle_release); in dlm_mhandle_delete()
295 struct dlm_mhandle *mh; in dlm_send_queue_flush() local
301 list_for_each_entry_rcu(mh, &node->send_queue, list) { in dlm_send_queue_flush()
302 dlm_mhandle_delete(node, mh); in dlm_send_queue_flush()
394 struct dlm_mhandle *mh; in dlm_send_fin() local
397 mh = dlm_midcomms_get_mhandle(node->nodeid, mb_len, GFP_NOFS, &ppc); in dlm_send_fin()
398 if (!mh) in dlm_send_fin()
401 mh->ack_rcv = ack_rcv; in dlm_send_fin()
413 dlm_midcomms_commit_mhandle(mh); in dlm_send_fin()
421 struct dlm_mhandle *mh; in dlm_receive_ack() local
424 list_for_each_entry_rcu(mh, &node->send_queue, list) { in dlm_receive_ack()
425 if (before(mh->seq, seq)) { in dlm_receive_ack()
426 if (mh->ack_rcv) in dlm_receive_ack()
427 mh->ack_rcv(node); in dlm_receive_ack()
435 list_for_each_entry_rcu(mh, &node->send_queue, list) { in dlm_receive_ack()
436 if (before(mh->seq, seq)) { in dlm_receive_ack()
437 dlm_mhandle_delete(node, mh); in dlm_receive_ack()
979 struct dlm_mhandle *mh; in dlm_midcomms_unack_msg_resend() local
999 list_for_each_entry_rcu(mh, &node->send_queue, list) { in dlm_midcomms_unack_msg_resend()
1000 if (!mh->committed) in dlm_midcomms_unack_msg_resend()
1003 ret = dlm_lowcomms_resend_msg(mh->msg); in dlm_midcomms_unack_msg_resend()
1006 mh->seq, node->nodeid); in dlm_midcomms_unack_msg_resend()
1023 static void midcomms_new_msg_cb(struct dlm_mhandle *mh) in midcomms_new_msg_cb() argument
1025 atomic_inc(&mh->node->send_queue_cnt); in midcomms_new_msg_cb()
1027 spin_lock(&mh->node->send_queue_lock); in midcomms_new_msg_cb()
1028 list_add_tail_rcu(&mh->list, &mh->node->send_queue); in midcomms_new_msg_cb()
1029 spin_unlock(&mh->node->send_queue_lock); in midcomms_new_msg_cb()
1031 mh->seq = mh->node->seq_send++; in midcomms_new_msg_cb()
1034 static struct dlm_msg *dlm_midcomms_get_msg_3_2(struct dlm_mhandle *mh, int nodeid, in dlm_midcomms_get_msg_3_2() argument
1041 allocation, ppc, midcomms_new_msg_cb, mh); in dlm_midcomms_get_msg_3_2()
1046 mh->opts = opts; in dlm_midcomms_get_msg_3_2()
1049 dlm_fill_opts_header(opts, len, mh->seq); in dlm_midcomms_get_msg_3_2()
1052 mh->inner_hd = (const struct dlm_header *)*ppc; in dlm_midcomms_get_msg_3_2()
1060 struct dlm_mhandle *mh; in dlm_midcomms_get_mhandle() local
1074 mh = kzalloc(sizeof(*mh), GFP_NOFS); in dlm_midcomms_get_mhandle()
1075 if (!mh) in dlm_midcomms_get_mhandle()
1078 mh->idx = idx; in dlm_midcomms_get_mhandle()
1079 mh->node = node; in dlm_midcomms_get_mhandle()
1086 kfree(mh); in dlm_midcomms_get_mhandle()
1092 msg = dlm_midcomms_get_msg_3_2(mh, nodeid, len, allocation, in dlm_midcomms_get_mhandle()
1095 kfree(mh); in dlm_midcomms_get_mhandle()
1101 kfree(mh); in dlm_midcomms_get_mhandle()
1106 mh->msg = msg; in dlm_midcomms_get_mhandle()
1113 return mh; in dlm_midcomms_get_mhandle()
1120 static void dlm_midcomms_commit_msg_3_2(struct dlm_mhandle *mh) in dlm_midcomms_commit_msg_3_2() argument
1123 mh->opts->o_nextcmd = mh->inner_hd->h_cmd; in dlm_midcomms_commit_msg_3_2()
1124 mh->committed = true; in dlm_midcomms_commit_msg_3_2()
1125 dlm_lowcomms_commit_msg(mh->msg); in dlm_midcomms_commit_msg_3_2()
1128 void dlm_midcomms_commit_mhandle(struct dlm_mhandle *mh) in dlm_midcomms_commit_mhandle() argument
1130 switch (mh->node->version) { in dlm_midcomms_commit_mhandle()
1132 srcu_read_unlock(&nodes_srcu, mh->idx); in dlm_midcomms_commit_mhandle()
1134 dlm_lowcomms_commit_msg(mh->msg); in dlm_midcomms_commit_mhandle()
1135 dlm_lowcomms_put_msg(mh->msg); in dlm_midcomms_commit_mhandle()
1137 kfree(mh); in dlm_midcomms_commit_mhandle()
1140 dlm_midcomms_commit_msg_3_2(mh); in dlm_midcomms_commit_mhandle()
1141 srcu_read_unlock(&nodes_srcu, mh->idx); in dlm_midcomms_commit_mhandle()
1144 srcu_read_unlock(&nodes_srcu, mh->idx); in dlm_midcomms_commit_mhandle()