Lines Matching refs:dead_node

55 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node);
61 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node);
62 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node);
64 u8 request_from, u8 dead_node);
82 u8 dead_node, u8 send_to);
83 static int dlm_send_begin_reco_message(struct dlm_ctxt *dlm, u8 dead_node);
85 struct list_head *list, u8 dead_node);
87 u8 dead_node, u8 new_master);
118 u8 dead_node) in dlm_set_reco_dead_node() argument
121 if (dlm->reco.dead_node != dead_node) in dlm_set_reco_dead_node()
123 dlm->name, dlm->reco.dead_node, dead_node); in dlm_set_reco_dead_node()
124 dlm->reco.dead_node = dead_node; in dlm_set_reco_dead_node()
139 clear_bit(dlm->reco.dead_node, dlm->recovery_map); in __dlm_reset_recovery()
260 dlm->reco.dead_node, dlm->reco.new_master); in dlm_print_reco_node_status()
419 dlm->reco.dead_node); in dlm_wait_for_recovery()
429 dlm->name, dlm->reco.dead_node); in dlm_begin_recovery()
448 dlm->reco.dead_node, dlm->name); in dlm_print_recovery_master()
469 dlm->reco.new_master, dlm->reco.dead_node); in dlm_do_recovery()
475 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) { in dlm_do_recovery()
483 } else if (!test_bit(dlm->reco.dead_node, dlm->recovery_map)) { in dlm_do_recovery()
486 dlm->reco.dead_node); in dlm_do_recovery()
490 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) { in dlm_do_recovery()
498 dlm->reco.dead_node); in dlm_do_recovery()
535 status = dlm_remaster_locks(dlm, dlm->reco.dead_node); in dlm_do_recovery()
539 "retrying.\n", dlm->name, status, dlm->reco.dead_node); in dlm_do_recovery()
546 dlm->name, dlm->reco.dead_node, dlm->node_num); in dlm_do_recovery()
558 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node) in dlm_remaster_locks() argument
569 status = dlm_init_recovery_area(dlm, dead_node); in dlm_remaster_locks()
593 dead_node); in dlm_remaster_locks()
632 ndata->node_num, dead_node); in dlm_remaster_locks()
640 ndata->node_num, dead_node); in dlm_remaster_locks()
645 ndata->node_num, dead_node); in dlm_remaster_locks()
650 ndata->node_num, dead_node); in dlm_remaster_locks()
681 dead_node); in dlm_remaster_locks()
725 dlm_finish_local_lockres_recovery(dlm, dead_node, in dlm_remaster_locks()
732 jiffies, dlm->reco.dead_node, in dlm_remaster_locks()
754 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node) in dlm_init_recovery_area() argument
770 BUG_ON(num == dead_node); in dlm_init_recovery_area()
804 u8 dead_node) in dlm_request_all_locks() argument
814 "to %u\n", dead_node, request_from); in dlm_request_all_locks()
818 lr.dead_node = dead_node; in dlm_request_all_locks()
828 request_from, dead_node); in dlm_request_all_locks()
848 if (lr->dead_node != dlm->reco.dead_node) { in dlm_request_all_locks_handler()
851 lr->dead_node, dlm->reco.dead_node); in dlm_request_all_locks_handler()
857 BUG_ON(lr->dead_node != dlm->reco.dead_node); in dlm_request_all_locks_handler()
877 item->u.ral.dead_node = lr->dead_node; in dlm_request_all_locks_handler()
894 u8 dead_node, reco_master; in dlm_request_all_locks_worker() local
898 dead_node = item->u.ral.dead_node; in dlm_request_all_locks_worker()
903 dlm->name, dead_node, reco_master); in dlm_request_all_locks_worker()
905 if (dead_node != dlm->reco.dead_node || in dlm_request_all_locks_worker()
913 reco_master, dead_node, reco_master, in dlm_request_all_locks_worker()
914 dlm->reco.dead_node, dlm->reco.new_master); in dlm_request_all_locks_worker()
918 dlm->name, dlm->reco.dead_node, in dlm_request_all_locks_worker()
919 dlm->reco.new_master, dead_node, reco_master); in dlm_request_all_locks_worker()
930 dlm_move_reco_locks_to_list(dlm, &resources, dead_node); in dlm_request_all_locks_worker()
942 reco_master, dead_node, ret); in dlm_request_all_locks_worker()
954 ret = dlm_send_all_done_msg(dlm, dead_node, reco_master); in dlm_request_all_locks_worker()
958 dlm->name, reco_master, dead_node, ret); in dlm_request_all_locks_worker()
966 static int dlm_send_all_done_msg(struct dlm_ctxt *dlm, u8 dead_node, u8 send_to) in dlm_send_all_done_msg() argument
973 done_msg.dead_node = dead_node; in dlm_send_all_done_msg()
976 done_msg.dead_node); in dlm_send_all_done_msg()
983 dead_node); in dlm_send_all_done_msg()
1005 "node_idx=%u, this node=%u\n", done->dead_node, in dlm_reco_data_done_handler()
1006 dlm->reco.dead_node, done->node_idx, dlm->node_num); in dlm_reco_data_done_handler()
1008 mlog_bug_on_msg((done->dead_node != dlm->reco.dead_node), in dlm_reco_data_done_handler()
1010 "node_idx=%u, this node=%u\n", done->dead_node, in dlm_reco_data_done_handler()
1011 dlm->reco.dead_node, done->node_idx, dlm->node_num); in dlm_reco_data_done_handler()
1060 u8 dead_node) in dlm_move_reco_locks_to_list() argument
1073 if (lock->ml.node == dead_node) { in dlm_move_reco_locks_to_list()
1077 dead_node, dlm->name); in dlm_move_reco_locks_to_list()
1090 if (res->owner == dead_node) { in dlm_move_reco_locks_to_list()
1093 dead_node); in dlm_move_reco_locks_to_list()
1097 "for node %u. sending it.\n", dead_node); in dlm_move_reco_locks_to_list()
2155 u8 dead_node, u8 new_master) in dlm_finish_local_lockres_recovery() argument
2164 if (res->owner == dead_node) { in dlm_finish_local_lockres_recovery()
2199 if (res->owner != dead_node && in dlm_finish_local_lockres_recovery()
2236 struct dlm_lock_resource *res, u8 dead_node) in dlm_revalidate_lvb() argument
2250 search_node = dead_node; in dlm_revalidate_lvb()
2273 res->lockname.len, res->lockname.name, dead_node); in dlm_revalidate_lvb()
2279 struct dlm_lock_resource *res, u8 dead_node) in dlm_free_dead_locks() argument
2296 if (lock->ml.node == dead_node) { in dlm_free_dead_locks()
2305 if (lock->ml.node == dead_node) { in dlm_free_dead_locks()
2314 if (lock->ml.node == dead_node) { in dlm_free_dead_locks()
2326 res->lockname.len, res->lockname.name, freed, dead_node); in dlm_free_dead_locks()
2327 if(!test_bit(dead_node, res->refmap)) { in dlm_free_dead_locks()
2330 res->lockname.len, res->lockname.name, freed, dead_node); in dlm_free_dead_locks()
2334 dlm_lockres_clear_refmap_bit(dlm, res, dead_node); in dlm_free_dead_locks()
2335 } else if (test_bit(dead_node, res->refmap)) { in dlm_free_dead_locks()
2338 res->lockname.len, res->lockname.name, dead_node); in dlm_free_dead_locks()
2339 dlm_lockres_clear_refmap_bit(dlm, res, dead_node); in dlm_free_dead_locks()
2346 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node) in dlm_do_local_recovery_cleanup() argument
2356 dlm_clean_master_list(dlm, dead_node); in dlm_do_local_recovery_cleanup()
2381 if (lock->ml.node == dead_node) { in dlm_do_local_recovery_cleanup()
2385 dead_node, dlm->name); in dlm_do_local_recovery_cleanup()
2396 if ((res->owner == dead_node) && in dlm_do_local_recovery_cleanup()
2405 dlm_lockres_clear_refmap_bit(dlm, res, dead_node); in dlm_do_local_recovery_cleanup()
2411 dlm_revalidate_lvb(dlm, res, dead_node); in dlm_do_local_recovery_cleanup()
2412 if (res->owner == dead_node) { in dlm_do_local_recovery_cleanup()
2419 res->lockname.name, dead_node); in dlm_do_local_recovery_cleanup()
2429 dlm_free_dead_locks(dlm, res, dead_node); in dlm_do_local_recovery_cleanup()
2432 if (test_bit(dead_node, res->refmap)) { in dlm_do_local_recovery_cleanup()
2436 res->lockname.name, dead_node); in dlm_do_local_recovery_cleanup()
2437 dlm_lockres_clear_refmap_bit(dlm, res, dead_node); in dlm_do_local_recovery_cleanup()
2578 dlm->name, jiffies, dlm->reco.dead_node, dlm->node_num); in dlm_pick_recovery_master()
2605 if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) { in dlm_pick_recovery_master()
2624 dlm->reco.dead_node, dlm->node_num); in dlm_pick_recovery_master()
2626 dlm->reco.dead_node); in dlm_pick_recovery_master()
2668 dlm->name, dlm->reco.new_master, dlm->reco.dead_node); in dlm_pick_recovery_master()
2695 static int dlm_send_begin_reco_message(struct dlm_ctxt *dlm, u8 dead_node) in dlm_send_begin_reco_message() argument
2703 mlog(0, "%s: dead node is %u\n", dlm->name, dead_node); in dlm_send_begin_reco_message()
2709 clear_bit(dead_node, iter.node_map); in dlm_send_begin_reco_message()
2713 br.dead_node = dead_node; in dlm_send_begin_reco_message()
2717 if (nodenum == dead_node) { in dlm_send_begin_reco_message()
2719 "%u\n", dead_node); in dlm_send_begin_reco_message()
2752 dead_node, nodenum); in dlm_send_begin_reco_message()
2796 dlm->name, br->node_idx, br->dead_node, in dlm_begin_reco_handler()
2797 dlm->reco.dead_node, dlm->reco.new_master); in dlm_begin_reco_handler()
2805 dlm->name, br->node_idx, br->dead_node, in dlm_begin_reco_handler()
2806 dlm->reco.dead_node, dlm->reco.new_master); in dlm_begin_reco_handler()
2808 dlm_fire_domain_eviction_callbacks(dlm, br->dead_node); in dlm_begin_reco_handler()
2823 if (dlm->reco.dead_node != O2NM_INVALID_NODE_NUM) { in dlm_begin_reco_handler()
2826 dlm->reco.dead_node, br->node_idx, br->dead_node); in dlm_begin_reco_handler()
2829 dlm_set_reco_dead_node(dlm, br->dead_node); in dlm_begin_reco_handler()
2830 if (!test_bit(br->dead_node, dlm->recovery_map)) { in dlm_begin_reco_handler()
2833 br->node_idx, br->dead_node, br->dead_node); in dlm_begin_reco_handler()
2834 if (!test_bit(br->dead_node, dlm->domain_map) || in dlm_begin_reco_handler()
2835 !test_bit(br->dead_node, dlm->live_nodes_map)) in dlm_begin_reco_handler()
2838 br->dead_node); in dlm_begin_reco_handler()
2841 set_bit(br->dead_node, dlm->domain_map); in dlm_begin_reco_handler()
2842 set_bit(br->dead_node, dlm->live_nodes_map); in dlm_begin_reco_handler()
2843 __dlm_hb_node_down(dlm, br->dead_node); in dlm_begin_reco_handler()
2850 dlm->name, br->node_idx, br->dead_node, in dlm_begin_reco_handler()
2851 dlm->reco.dead_node, dlm->reco.new_master); in dlm_begin_reco_handler()
2868 "stage %d\n", dlm->name, dlm->reco.dead_node, stage); in dlm_send_finalize_reco_message()
2877 fr.dead_node = dlm->reco.dead_node; in dlm_send_finalize_reco_message()
2930 fr->dead_node, dlm->reco.dead_node, dlm->reco.new_master); in dlm_finalize_reco_handler()
2937 fr->node_idx, dlm->reco.new_master, fr->dead_node); in dlm_finalize_reco_handler()
2940 if (dlm->reco.dead_node != fr->dead_node) { in dlm_finalize_reco_handler()
2943 fr->node_idx, fr->dead_node, dlm->reco.dead_node); in dlm_finalize_reco_handler()
2949 dlm_finish_local_lockres_recovery(dlm, fr->dead_node, fr->node_idx); in dlm_finalize_reco_handler()
2954 dlm->name, fr->node_idx, fr->dead_node); in dlm_finalize_reco_handler()
2966 dlm->name, fr->node_idx, fr->dead_node); in dlm_finalize_reco_handler()
2978 dlm->name, fr->node_idx, dlm->reco.dead_node, dlm->reco.new_master); in dlm_finalize_reco_handler()