Lines Matching refs:memb

28 		   struct dlm_member *memb)  in dlm_slot_save()  argument
35 memb->slot = le16_to_cpu(rf->rf_our_slot); in dlm_slot_save()
36 memb->generation = le32_to_cpu(rf->rf_generation); in dlm_slot_save()
98 struct dlm_member *memb; in dlm_slots_copy_in() local
129 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_copy_in()
131 if (ro->ro_nodeid != memb->nodeid) in dlm_slots_copy_in()
133 memb->slot = ro->ro_slot; in dlm_slots_copy_in()
134 memb->slot_prev = memb->slot; in dlm_slots_copy_in()
138 if (memb->nodeid == our_nodeid) { in dlm_slots_copy_in()
139 if (ls->ls_slot && ls->ls_slot != memb->slot) { in dlm_slots_copy_in()
142 memb->slot); in dlm_slots_copy_in()
147 ls->ls_slot = memb->slot; in dlm_slots_copy_in()
150 if (!memb->slot) { in dlm_slots_copy_in()
152 memb->nodeid); in dlm_slots_copy_in()
167 struct dlm_member *memb; in dlm_slots_assign() local
178 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
179 if (memb->nodeid == our_nodeid) { in dlm_slots_assign()
180 memb->slot = ls->ls_slot; in dlm_slots_assign()
181 memb->generation = ls->ls_generation; in dlm_slots_assign()
186 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
187 if (memb->generation > gen) in dlm_slots_assign()
188 gen = memb->generation; in dlm_slots_assign()
192 if (memb->slot == -1) in dlm_slots_assign()
197 if (!memb->slot) in dlm_slots_assign()
204 if (!max || max < memb->slot) in dlm_slots_assign()
205 max = memb->slot; in dlm_slots_assign()
209 if (memb->slot_prev && memb->slot && memb->slot_prev != memb->slot) { in dlm_slots_assign()
211 memb->nodeid, memb->slot_prev, memb->slot); in dlm_slots_assign()
214 memb->slot_prev = memb->slot; in dlm_slots_assign()
226 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
227 if (!memb->slot) in dlm_slots_assign()
230 if (memb->slot > array_size) { in dlm_slots_assign()
231 log_error(ls, "invalid slot number %d", memb->slot); in dlm_slots_assign()
236 array[memb->slot - 1].nodeid = memb->nodeid; in dlm_slots_assign()
237 array[memb->slot - 1].slot = memb->slot; in dlm_slots_assign()
243 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
244 if (memb->slot) in dlm_slots_assign()
251 memb->slot = i + 1; in dlm_slots_assign()
252 memb->slot_prev = memb->slot; in dlm_slots_assign()
253 array[i].nodeid = memb->nodeid; in dlm_slots_assign()
254 array[i].slot = memb->slot; in dlm_slots_assign()
257 if (!ls->ls_slot && memb->nodeid == our_nodeid) in dlm_slots_assign()
258 ls->ls_slot = memb->slot; in dlm_slots_assign()
262 if (!memb->slot) { in dlm_slots_assign()
292 struct dlm_member *memb = NULL; in add_ordered_member() local
298 memb = list_entry(tmp, struct dlm_member, list); in add_ordered_member()
299 if (new->nodeid < memb->nodeid) in add_ordered_member()
303 if (!memb) in add_ordered_member()
316 struct dlm_member *memb; in dlm_add_member() local
319 memb = kzalloc(sizeof(*memb), GFP_NOFS); in dlm_add_member()
320 if (!memb) in dlm_add_member()
325 kfree(memb); in dlm_add_member()
329 memb->nodeid = node->nodeid; in dlm_add_member()
330 memb->weight = node->weight; in dlm_add_member()
331 memb->comm_seq = node->comm_seq; in dlm_add_member()
332 add_ordered_member(ls, memb); in dlm_add_member()
339 struct dlm_member *memb; in find_memb() local
341 list_for_each_entry(memb, head, list) { in find_memb()
342 if (memb->nodeid == nodeid) in find_memb()
343 return memb; in find_memb()
364 struct dlm_member *memb; in clear_memb_list() local
367 memb = list_entry(head->next, struct dlm_member, list); in clear_memb_list()
368 list_del(&memb->list); in clear_memb_list()
369 kfree(memb); in clear_memb_list()
386 struct dlm_member *memb; in make_member_array() local
392 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
393 if (memb->weight) in make_member_array()
394 total += memb->weight; in make_member_array()
409 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
410 if (!all_zero && !memb->weight) in make_member_array()
416 w = memb->weight; in make_member_array()
421 array[x++] = memb->nodeid; in make_member_array()
431 struct dlm_member *memb; in ping_members() local
434 list_for_each_entry(memb, &ls->ls_nodes, list) { in ping_members()
438 error = dlm_rcom_status(ls, memb->nodeid, 0); in ping_members()
455 static void dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb) in dlm_lsop_recover_slot() argument
470 error = dlm_comm_seq(memb->nodeid, &seq); in dlm_lsop_recover_slot()
472 if (!error && seq == memb->comm_seq) in dlm_lsop_recover_slot()
475 slot.nodeid = memb->nodeid; in dlm_lsop_recover_slot()
476 slot.slot = memb->slot; in dlm_lsop_recover_slot()
483 struct dlm_member *memb; in dlm_lsop_recover_done() local
496 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_lsop_recover_done()
501 slots[i].nodeid = memb->nodeid; in dlm_lsop_recover_done()
502 slots[i].slot = memb->slot; in dlm_lsop_recover_done()
526 struct dlm_member *memb, *safe; in dlm_recover_members() local
533 list_for_each_entry(memb, &ls->ls_nodes_gone, list) { in dlm_recover_members()
534 log_rinfo(ls, "prev removed member %d", memb->nodeid); in dlm_recover_members()
540 list_for_each_entry_safe(memb, safe, &ls->ls_nodes, list) { in dlm_recover_members()
541 node = find_config_node(rv, memb->nodeid); in dlm_recover_members()
546 log_rinfo(ls, "remove member %d", memb->nodeid); in dlm_recover_members()
550 memb->nodeid, memb->comm_seq, node->comm_seq); in dlm_recover_members()
554 list_move(&memb->list, &ls->ls_nodes_gone); in dlm_recover_members()
556 dlm_lsop_recover_slot(ls, memb); in dlm_recover_members()
569 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_recover_members()
570 if (low == -1 || memb->nodeid < low) in dlm_recover_members()
571 low = memb->nodeid; in dlm_recover_members()