Lines Matching refs:memb

30 		   struct dlm_member *memb)  in dlm_slot_save()  argument
37 memb->slot = le16_to_cpu(rf->rf_our_slot); in dlm_slot_save()
38 memb->generation = le32_to_cpu(rf->rf_generation); in dlm_slot_save()
100 struct dlm_member *memb; in dlm_slots_copy_in() local
131 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_copy_in()
133 if (ro->ro_nodeid != memb->nodeid) in dlm_slots_copy_in()
135 memb->slot = ro->ro_slot; in dlm_slots_copy_in()
136 memb->slot_prev = memb->slot; in dlm_slots_copy_in()
140 if (memb->nodeid == our_nodeid) { in dlm_slots_copy_in()
141 if (ls->ls_slot && ls->ls_slot != memb->slot) { in dlm_slots_copy_in()
144 memb->slot); in dlm_slots_copy_in()
149 ls->ls_slot = memb->slot; in dlm_slots_copy_in()
152 if (!memb->slot) { in dlm_slots_copy_in()
154 memb->nodeid); in dlm_slots_copy_in()
169 struct dlm_member *memb; in dlm_slots_assign() local
180 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
181 if (memb->nodeid == our_nodeid) { in dlm_slots_assign()
182 memb->slot = ls->ls_slot; in dlm_slots_assign()
183 memb->generation = ls->ls_generation; in dlm_slots_assign()
188 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
189 if (memb->generation > gen) in dlm_slots_assign()
190 gen = memb->generation; in dlm_slots_assign()
194 if (memb->slot == -1) in dlm_slots_assign()
199 if (!memb->slot) in dlm_slots_assign()
206 if (!max || max < memb->slot) in dlm_slots_assign()
207 max = memb->slot; in dlm_slots_assign()
211 if (memb->slot_prev && memb->slot && memb->slot_prev != memb->slot) { in dlm_slots_assign()
213 memb->nodeid, memb->slot_prev, memb->slot); in dlm_slots_assign()
216 memb->slot_prev = memb->slot; in dlm_slots_assign()
229 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
230 if (!memb->slot) in dlm_slots_assign()
233 if (memb->slot > array_size) { in dlm_slots_assign()
234 log_error(ls, "invalid slot number %d", memb->slot); in dlm_slots_assign()
239 array[memb->slot - 1].nodeid = memb->nodeid; in dlm_slots_assign()
240 array[memb->slot - 1].slot = memb->slot; in dlm_slots_assign()
246 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_slots_assign()
247 if (memb->slot) in dlm_slots_assign()
254 memb->slot = i + 1; in dlm_slots_assign()
255 memb->slot_prev = memb->slot; in dlm_slots_assign()
256 array[i].nodeid = memb->nodeid; in dlm_slots_assign()
257 array[i].slot = memb->slot; in dlm_slots_assign()
260 if (!ls->ls_slot && memb->nodeid == our_nodeid) in dlm_slots_assign()
261 ls->ls_slot = memb->slot; in dlm_slots_assign()
265 if (!memb->slot) { in dlm_slots_assign()
295 struct dlm_member *memb = NULL; in add_ordered_member() local
301 memb = list_entry(tmp, struct dlm_member, list); in add_ordered_member()
302 if (new->nodeid < memb->nodeid) in add_ordered_member()
306 if (!memb) in add_ordered_member()
319 struct dlm_member *memb; in dlm_add_member() local
322 memb = kzalloc(sizeof(struct dlm_member), GFP_NOFS); in dlm_add_member()
323 if (!memb) in dlm_add_member()
328 kfree(memb); in dlm_add_member()
332 memb->nodeid = node->nodeid; in dlm_add_member()
333 memb->weight = node->weight; in dlm_add_member()
334 memb->comm_seq = node->comm_seq; in dlm_add_member()
335 add_ordered_member(ls, memb); in dlm_add_member()
342 struct dlm_member *memb; in find_memb() local
344 list_for_each_entry(memb, head, list) { in find_memb()
345 if (memb->nodeid == nodeid) in find_memb()
346 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()
372 kfree(memb); in clear_memb_list()
389 struct dlm_member *memb; in make_member_array() local
395 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
396 if (memb->weight) in make_member_array()
397 total += memb->weight; in make_member_array()
413 list_for_each_entry(memb, &ls->ls_nodes, list) { in make_member_array()
414 if (!all_zero && !memb->weight) in make_member_array()
420 w = memb->weight; in make_member_array()
425 array[x++] = memb->nodeid; in make_member_array()
435 struct dlm_member *memb; in ping_members() local
438 list_for_each_entry(memb, &ls->ls_nodes, list) { in ping_members()
442 error = dlm_rcom_status(ls, memb->nodeid, 0); in ping_members()
459 static void dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb) in dlm_lsop_recover_slot() argument
474 error = dlm_comm_seq(memb->nodeid, &seq); in dlm_lsop_recover_slot()
476 if (!error && seq == memb->comm_seq) in dlm_lsop_recover_slot()
479 slot.nodeid = memb->nodeid; in dlm_lsop_recover_slot()
480 slot.slot = memb->slot; in dlm_lsop_recover_slot()
487 struct dlm_member *memb; in dlm_lsop_recover_done() local
501 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_lsop_recover_done()
506 slots[i].nodeid = memb->nodeid; in dlm_lsop_recover_done()
507 slots[i].slot = memb->slot; in dlm_lsop_recover_done()
531 struct dlm_member *memb, *safe; in dlm_recover_members() local
538 list_for_each_entry(memb, &ls->ls_nodes_gone, list) { in dlm_recover_members()
539 log_rinfo(ls, "prev removed member %d", memb->nodeid); in dlm_recover_members()
545 list_for_each_entry_safe(memb, safe, &ls->ls_nodes, list) { in dlm_recover_members()
546 node = find_config_node(rv, memb->nodeid); in dlm_recover_members()
551 log_rinfo(ls, "remove member %d", memb->nodeid); in dlm_recover_members()
555 memb->nodeid, memb->comm_seq, node->comm_seq); in dlm_recover_members()
559 list_move(&memb->list, &ls->ls_nodes_gone); in dlm_recover_members()
561 dlm_lsop_recover_slot(ls, memb); in dlm_recover_members()
574 list_for_each_entry(memb, &ls->ls_nodes, list) { in dlm_recover_members()
575 if (low == -1 || memb->nodeid < low) in dlm_recover_members()
576 low = memb->nodeid; in dlm_recover_members()