Lines Matching refs:dead_node

38 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node);
44 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node);
45 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node);
47 u8 request_from, u8 dead_node);
65 u8 dead_node, u8 send_to);
66 static int dlm_send_begin_reco_message(struct dlm_ctxt *dlm, u8 dead_node);
68 struct list_head *list, u8 dead_node);
70 u8 dead_node, u8 new_master);
101 u8 dead_node)
104 if (dlm->reco.dead_node != dead_node)
105 mlog(0, "%s: changing dead_node from %u to %u\n",
106 dlm->name, dlm->reco.dead_node, dead_node);
107 dlm->reco.dead_node = dead_node;
122 clear_bit(dlm->reco.dead_node, dlm->recovery_map);
236 dlm->reco.dead_node, dlm->reco.new_master);
395 dlm->reco.dead_node);
405 dlm->name, dlm->reco.dead_node);
424 dlm->reco.dead_node, dlm->name);
445 dlm->reco.new_master, dlm->reco.dead_node);
446 /* unset the new_master, leave dead_node */
451 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) {
459 } else if (!test_bit(dlm->reco.dead_node, dlm->recovery_map)) {
461 mlog(ML_ERROR, "dead_node %u no longer in recovery map!\n",
462 dlm->reco.dead_node);
466 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) {
474 dlm->reco.dead_node);
511 status = dlm_remaster_locks(dlm, dlm->reco.dead_node);
515 "retrying.\n", dlm->name, status, dlm->reco.dead_node);
522 dlm->name, dlm->reco.dead_node, dlm->node_num);
534 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node)
545 status = dlm_init_recovery_area(dlm, dead_node);
569 dead_node);
608 ndata->node_num, dead_node);
616 ndata->node_num, dead_node);
621 ndata->node_num, dead_node);
626 ndata->node_num, dead_node);
657 dead_node);
701 dlm_finish_local_lockres_recovery(dlm, dead_node,
708 jiffies, dlm->reco.dead_node,
730 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node)
746 BUG_ON(num == dead_node);
780 u8 dead_node)
790 "to %u\n", dead_node, request_from);
794 lr.dead_node = dead_node;
804 request_from, dead_node);
824 if (lr->dead_node != dlm->reco.dead_node) {
825 mlog(ML_ERROR, "%s: node %u sent dead_node=%u, but local "
826 "dead_node is %u\n", dlm->name, lr->node_idx,
827 lr->dead_node, dlm->reco.dead_node);
833 BUG_ON(lr->dead_node != dlm->reco.dead_node);
853 item->u.ral.dead_node = lr->dead_node;
870 u8 dead_node, reco_master;
874 dead_node = item->u.ral.dead_node;
879 dlm->name, dead_node, reco_master);
881 if (dead_node != dlm->reco.dead_node ||
889 reco_master, dead_node, reco_master,
890 dlm->reco.dead_node, dlm->reco.new_master);
894 dlm->name, dlm->reco.dead_node,
895 dlm->reco.new_master, dead_node, reco_master);
906 dlm_move_reco_locks_to_list(dlm, &resources, dead_node);
918 reco_master, dead_node, ret);
930 ret = dlm_send_all_done_msg(dlm, dead_node, reco_master);
934 dlm->name, reco_master, dead_node, ret);
942 static int dlm_send_all_done_msg(struct dlm_ctxt *dlm, u8 dead_node, u8 send_to)
949 done_msg.dead_node = dead_node;
952 done_msg.dead_node);
959 dead_node);
980 mlog(0, "got DATA DONE: dead_node=%u, reco.dead_node=%u, "
981 "node_idx=%u, this node=%u\n", done->dead_node,
982 dlm->reco.dead_node, done->node_idx, dlm->node_num);
984 mlog_bug_on_msg((done->dead_node != dlm->reco.dead_node),
985 "Got DATA DONE: dead_node=%u, reco.dead_node=%u, "
986 "node_idx=%u, this node=%u\n", done->dead_node,
987 dlm->reco.dead_node, done->node_idx, dlm->node_num);
1036 u8 dead_node)
1049 if (lock->ml.node == dead_node) {
1053 dead_node, dlm->name);
1066 if (res->owner == dead_node) {
1069 dead_node);
1073 "for node %u. sending it.\n", dead_node);
2129 u8 dead_node, u8 new_master)
2138 if (res->owner == dead_node) {
2173 if (res->owner != dead_node &&
2210 struct dlm_lock_resource *res, u8 dead_node)
2224 search_node = dead_node;
2247 res->lockname.len, res->lockname.name, dead_node);
2253 struct dlm_lock_resource *res, u8 dead_node)
2270 if (lock->ml.node == dead_node) {
2279 if (lock->ml.node == dead_node) {
2288 if (lock->ml.node == dead_node) {
2300 res->lockname.len, res->lockname.name, freed, dead_node);
2301 if(!test_bit(dead_node, res->refmap)) {
2304 res->lockname.len, res->lockname.name, freed, dead_node);
2308 dlm_lockres_clear_refmap_bit(dlm, res, dead_node);
2309 } else if (test_bit(dead_node, res->refmap)) {
2312 res->lockname.len, res->lockname.name, dead_node);
2313 dlm_lockres_clear_refmap_bit(dlm, res, dead_node);
2320 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node)
2330 dlm_clean_master_list(dlm, dead_node);
2355 if (lock->ml.node == dead_node) {
2359 dead_node, dlm->name);
2370 if ((res->owner == dead_node) &&
2379 dlm_lockres_clear_refmap_bit(dlm, res, dead_node);
2385 dlm_revalidate_lvb(dlm, res, dead_node);
2386 if (res->owner == dead_node) {
2393 res->lockname.name, dead_node);
2403 dlm_free_dead_locks(dlm, res, dead_node);
2406 if (test_bit(dead_node, res->refmap)) {
2410 res->lockname.name, dead_node);
2411 dlm_lockres_clear_refmap_bit(dlm, res, dead_node);
2429 * the new_master and dead_node. that recovery
2552 dlm->name, jiffies, dlm->reco.dead_node, dlm->node_num);
2579 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) {
2598 dlm->reco.dead_node, dlm->node_num);
2600 dlm->reco.dead_node);
2642 dlm->name, dlm->reco.new_master, dlm->reco.dead_node);
2669 static int dlm_send_begin_reco_message(struct dlm_ctxt *dlm, u8 dead_node)
2677 mlog(0, "%s: dead node is %u\n", dlm->name, dead_node);
2683 clear_bit(dead_node, iter.node_map);
2687 br.dead_node = dead_node;
2691 if (nodenum == dead_node) {
2693 "%u\n", dead_node);
2725 dead_node, nodenum);
2769 dlm->name, br->node_idx, br->dead_node,
2770 dlm->reco.dead_node, dlm->reco.new_master);
2778 dlm->name, br->node_idx, br->dead_node,
2779 dlm->reco.dead_node, dlm->reco.new_master);
2781 dlm_fire_domain_eviction_callbacks(dlm, br->dead_node);
2796 if (dlm->reco.dead_node != O2NM_INVALID_NODE_NUM) {
2797 mlog(ML_NOTICE, "%s: dead_node previously set to %u, "
2799 dlm->reco.dead_node, br->node_idx, br->dead_node);
2802 dlm_set_reco_dead_node(dlm, br->dead_node);
2803 if (!test_bit(br->dead_node, dlm->recovery_map)) {
2806 br->node_idx, br->dead_node, br->dead_node);
2807 if (!test_bit(br->dead_node, dlm->domain_map) ||
2808 !test_bit(br->dead_node, dlm->live_nodes_map))
2811 br->dead_node);
2814 set_bit(br->dead_node, dlm->domain_map);
2815 set_bit(br->dead_node, dlm->live_nodes_map);
2816 __dlm_hb_node_down(dlm, br->dead_node);
2823 dlm->name, br->node_idx, br->dead_node,
2824 dlm->reco.dead_node, dlm->reco.new_master);
2841 "stage %d\n", dlm->name, dlm->reco.dead_node, stage);
2850 fr.dead_node = dlm->reco.dead_node;
2903 fr->dead_node, dlm->reco.dead_node, dlm->reco.new_master);
2910 fr->node_idx, dlm->reco.new_master, fr->dead_node);
2913 if (dlm->reco.dead_node != fr->dead_node) {
2916 fr->node_idx, fr->dead_node, dlm->reco.dead_node);
2922 dlm_finish_local_lockres_recovery(dlm, fr->dead_node, fr->node_idx);
2927 dlm->name, fr->node_idx, fr->dead_node);
2939 dlm->name, fr->node_idx, fr->dead_node);
2951 dlm->name, fr->node_idx, dlm->reco.dead_node, dlm->reco.new_master);