Lines Matching refs:memb

29 		   struct dlm_member *memb)  in dlm_slot_save()  argument
36 memb->slot = le16_to_cpu(rf->rf_our_slot); in dlm_slot_save()
37 memb->generation = le32_to_cpu(rf->rf_generation); in dlm_slot_save()
99 struct dlm_member *memb; in dlm_slots_copy_in() local
130 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_copy_in()
132 if (ro->ro_nodeid != memb->nodeid) in dlm_slots_copy_in()
134 memb->slot = ro->ro_slot; in dlm_slots_copy_in()
135 memb->slot_prev = memb->slot; in dlm_slots_copy_in()
139 if (memb->nodeid == our_nodeid) { in dlm_slots_copy_in()
140 if (ls->ls_slot && ls->ls_slot != memb->slot) { in dlm_slots_copy_in()
143 memb->slot); in dlm_slots_copy_in()
148 ls->ls_slot = memb->slot; in dlm_slots_copy_in()
151 if (!memb->slot) { in dlm_slots_copy_in()
153 memb->nodeid); in dlm_slots_copy_in()
168 struct dlm_member *memb; in dlm_slots_assign() local
179 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
180 if (memb->nodeid == our_nodeid) { in dlm_slots_assign()
181 memb->slot = ls->ls_slot; in dlm_slots_assign()
182 memb->generation = ls->ls_generation; in dlm_slots_assign()
187 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
188 if (memb->generation > gen) in dlm_slots_assign()
189 gen = memb->generation; in dlm_slots_assign()
193 if (memb->slot == -1) in dlm_slots_assign()
198 if (!memb->slot) in dlm_slots_assign()
205 if (!max || max < memb->slot) in dlm_slots_assign()
206 max = memb->slot; in dlm_slots_assign()
210 if (memb->slot_prev && memb->slot && memb->slot_prev != memb->slot) { in dlm_slots_assign()
212 memb->nodeid, memb->slot_prev, memb->slot); in dlm_slots_assign()
215 memb->slot_prev = memb->slot; in dlm_slots_assign()
227 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
228 if (!memb->slot) in dlm_slots_assign()
231 if (memb->slot > array_size) { in dlm_slots_assign()
232 log_error(ls, "invalid slot number %d", memb->slot); in dlm_slots_assign()
237 array[memb->slot - 1].nodeid = memb->nodeid; in dlm_slots_assign()
238 array[memb->slot - 1].slot = memb->slot; in dlm_slots_assign()
244 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
245 if (memb->slot) in dlm_slots_assign()
252 memb->slot = i + 1; in dlm_slots_assign()
253 memb->slot_prev = memb->slot; in dlm_slots_assign()
254 array[i].nodeid = memb->nodeid; in dlm_slots_assign()
255 array[i].slot = memb->slot; in dlm_slots_assign()
258 if (!ls->ls_slot && memb->nodeid == our_nodeid) in dlm_slots_assign()
259 ls->ls_slot = memb->slot; in dlm_slots_assign()
263 if (!memb->slot) { in dlm_slots_assign()
293 struct dlm_member *memb = NULL; in add_ordered_member() local
299 memb = list_entry(tmp, struct dlm_member, list); in add_ordered_member()
300 if (new->nodeid < memb->nodeid) in add_ordered_member()
304 if (!memb) in add_ordered_member()
317 struct dlm_member *memb; in dlm_add_member() local
320 memb = kzalloc(sizeof(*memb), GFP_NOFS); in dlm_add_member()
321 if (!memb) in dlm_add_member()
326 kfree(memb); in dlm_add_member()
330 memb->nodeid = node->nodeid; in dlm_add_member()
331 memb->weight = node->weight; in dlm_add_member()
332 memb->comm_seq = node->comm_seq; in dlm_add_member()
334 add_ordered_member(ls, memb); in dlm_add_member()
341 struct dlm_member *memb; in find_memb() local
343 list_for_each_entry(memb, head, list) { in find_memb()
344 if (memb->nodeid == nodeid) in find_memb()
345 return memb; in find_memb()
367 struct dlm_member *memb; in clear_memb_list() local
370 memb = list_entry(head->next, struct dlm_member, list); in clear_memb_list()
371 list_del(&memb->list); in clear_memb_list()
373 after_del(memb->nodeid); in clear_memb_list()
374 kfree(memb); in clear_memb_list()
396 struct dlm_member *memb; in make_member_array() local
402 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
403 if (memb->weight) in make_member_array()
404 total += memb->weight; in make_member_array()
419 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
420 if (!all_zero && !memb->weight) in make_member_array()
426 w = memb->weight; in make_member_array()
431 array[x++] = memb->nodeid; in make_member_array()
441 struct dlm_member *memb; in ping_members() local
444 list_for_each_entry(memb, &ls->ls_nodes, list) { in ping_members()
450 error = dlm_rcom_status(ls, memb->nodeid, 0); in ping_members()
467 static void dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb) in dlm_lsop_recover_slot() argument
482 error = dlm_comm_seq(memb->nodeid, &seq); in dlm_lsop_recover_slot()
484 if (!error && seq == memb->comm_seq) in dlm_lsop_recover_slot()
487 slot.nodeid = memb->nodeid; in dlm_lsop_recover_slot()
488 slot.slot = memb->slot; in dlm_lsop_recover_slot()
495 struct dlm_member *memb; in dlm_lsop_recover_done() local
508 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_lsop_recover_done()
513 slots[i].nodeid = memb->nodeid; in dlm_lsop_recover_done()
514 slots[i].slot = memb->slot; in dlm_lsop_recover_done()
538 struct dlm_member *memb, *safe; in dlm_recover_members() local
545 list_for_each_entry(memb, &ls->ls_nodes_gone, list) { in dlm_recover_members()
546 log_rinfo(ls, "prev removed member %d", memb->nodeid); in dlm_recover_members()
552 list_for_each_entry_safe(memb, safe, &ls->ls_nodes, list) { in dlm_recover_members()
553 node = find_config_node(rv, memb->nodeid); in dlm_recover_members()
558 log_rinfo(ls, "remove member %d", memb->nodeid); in dlm_recover_members()
562 memb->nodeid, memb->comm_seq, node->comm_seq); in dlm_recover_members()
566 list_move(&memb->list, &ls->ls_nodes_gone); in dlm_recover_members()
567 dlm_midcomms_remove_member(memb->nodeid); in dlm_recover_members()
569 dlm_lsop_recover_slot(ls, memb); in dlm_recover_members()
582 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_recover_members()
583 if (low == -1 || memb->nodeid < low) in dlm_recover_members()
584 low = memb->nodeid; in dlm_recover_members()