Lines Matching refs:seq
183 static void nameseq_delete_empty(struct name_seq *seq) in nameseq_delete_empty() argument
185 if (!seq->first_free && list_empty(&seq->subscriptions)) { in nameseq_delete_empty()
186 hlist_del_init(&seq->ns_list); in nameseq_delete_empty()
187 kfree(seq->sseqs); in nameseq_delete_empty()
188 kfree(seq); in nameseq_delete_empty()
484 struct name_seq *seq = nametbl_find_seq(type); in tipc_nametbl_insert_publ() local
493 if (!seq) in tipc_nametbl_insert_publ()
494 seq = tipc_nameseq_create(type, &table.types[hash(type)]); in tipc_nametbl_insert_publ()
495 if (!seq) in tipc_nametbl_insert_publ()
498 return tipc_nameseq_insert_publ(seq, type, lower, upper, in tipc_nametbl_insert_publ()
506 struct name_seq *seq = nametbl_find_seq(type); in tipc_nametbl_remove_publ() local
508 if (!seq) in tipc_nametbl_remove_publ()
511 publ = tipc_nameseq_remove_publ(seq, lower, node, ref, key); in tipc_nametbl_remove_publ()
512 nameseq_delete_empty(seq); in tipc_nametbl_remove_publ()
534 struct name_seq *seq; in tipc_nametbl_translate() local
542 seq = nametbl_find_seq(type); in tipc_nametbl_translate()
543 if (unlikely(!seq)) in tipc_nametbl_translate()
545 sseq = nameseq_find_subseq(seq, instance); in tipc_nametbl_translate()
548 spin_lock_bh(&seq->lock); in tipc_nametbl_translate()
596 spin_unlock_bh(&seq->lock); in tipc_nametbl_translate()
618 struct name_seq *seq; in tipc_nametbl_mc_translate() local
625 seq = nametbl_find_seq(type); in tipc_nametbl_mc_translate()
626 if (!seq) in tipc_nametbl_mc_translate()
629 spin_lock_bh(&seq->lock); in tipc_nametbl_mc_translate()
631 sseq = seq->sseqs + nameseq_locate_subseq(seq, lower); in tipc_nametbl_mc_translate()
632 sseq_stop = seq->sseqs + seq->first_free; in tipc_nametbl_mc_translate()
649 spin_unlock_bh(&seq->lock); in tipc_nametbl_mc_translate()
721 u32 type = s->seq.type; in tipc_nametbl_subscribe()
722 struct name_seq *seq; in tipc_nametbl_subscribe() local
725 seq = nametbl_find_seq(type); in tipc_nametbl_subscribe()
726 if (!seq) in tipc_nametbl_subscribe()
727 seq = tipc_nameseq_create(type, &table.types[hash(type)]); in tipc_nametbl_subscribe()
728 if (seq) { in tipc_nametbl_subscribe()
729 spin_lock_bh(&seq->lock); in tipc_nametbl_subscribe()
730 tipc_nameseq_subscribe(seq, s); in tipc_nametbl_subscribe()
731 spin_unlock_bh(&seq->lock); in tipc_nametbl_subscribe()
734 s->seq.type, s->seq.lower, s->seq.upper); in tipc_nametbl_subscribe()
744 struct name_seq *seq; in tipc_nametbl_unsubscribe() local
747 seq = nametbl_find_seq(s->seq.type); in tipc_nametbl_unsubscribe()
748 if (seq != NULL) { in tipc_nametbl_unsubscribe()
749 spin_lock_bh(&seq->lock); in tipc_nametbl_unsubscribe()
751 spin_unlock_bh(&seq->lock); in tipc_nametbl_unsubscribe()
752 nameseq_delete_empty(seq); in tipc_nametbl_unsubscribe()
800 static int nameseq_list(struct name_seq *seq, char *buf, int len, u32 depth, in nameseq_list() argument
807 if (seq->first_free == 0) in nameseq_list()
810 sprintf(typearea, "%-10u", seq->type); in nameseq_list()
817 for (sseq = seq->sseqs; sseq != &seq->sseqs[seq->first_free]; sseq++) { in nameseq_list()
821 spin_lock_bh(&seq->lock); in nameseq_list()
824 spin_unlock_bh(&seq->lock); in nameseq_list()
861 struct name_seq *seq; in nametbl_list() local
880 hlist_for_each_entry(seq, seq_head, ns_list) { in nametbl_list()
881 ret += nameseq_list(seq, buf + ret, len - ret, in nametbl_list()
882 depth, seq->type, in nametbl_list()
896 hlist_for_each_entry(seq, seq_head, ns_list) { in nametbl_list()
897 if (seq->type == type) { in nametbl_list()
898 ret += nameseq_list(seq, buf + ret, len - ret, in nametbl_list()
956 static void tipc_purge_publications(struct name_seq *seq) in tipc_purge_publications() argument
962 if (!seq->sseqs) { in tipc_purge_publications()
963 nameseq_delete_empty(seq); in tipc_purge_publications()
966 sseq = seq->sseqs; in tipc_purge_publications()
978 struct name_seq *seq; in tipc_nametbl_stop() local
990 hlist_for_each_entry_safe(seq, safe, seq_head, ns_list) { in tipc_nametbl_stop()
991 tipc_purge_publications(seq); in tipc_nametbl_stop()