• Home
  • Raw
  • Download

Lines Matching refs:node

75 static void tipc_node_delete(struct tipc_node *node);
111 void tipc_node_put(struct tipc_node *node) in tipc_node_put() argument
113 kref_put(&node->kref, tipc_node_kref_release); in tipc_node_put()
116 static void tipc_node_get(struct tipc_node *node) in tipc_node_get() argument
118 kref_get(&node->kref); in tipc_node_get()
127 struct tipc_node *node; in tipc_node_find() local
133 hlist_for_each_entry_rcu(node, &tn->node_htable[tipc_hashfn(addr)], in tipc_node_find()
135 if (node->addr == addr) { in tipc_node_find()
136 tipc_node_get(node); in tipc_node_find()
138 return node; in tipc_node_find()
216 static void tipc_node_delete(struct tipc_node *node) in tipc_node_delete() argument
218 list_del_rcu(&node->list); in tipc_node_delete()
219 hlist_del_rcu(&node->hash); in tipc_node_delete()
220 tipc_node_put(node); in tipc_node_delete()
222 del_timer_sync(&node->timer); in tipc_node_delete()
223 tipc_node_put(node); in tipc_node_delete()
229 struct tipc_node *node, *t_node; in tipc_node_stop() local
232 list_for_each_entry_safe(node, t_node, &tn->node_list, list) in tipc_node_stop()
233 tipc_node_delete(node); in tipc_node_stop()
239 struct tipc_node *node; in tipc_node_add_conn() local
246 node = tipc_node_find(net, dnode); in tipc_node_add_conn()
247 if (!node) { in tipc_node_add_conn()
260 tipc_node_lock(node); in tipc_node_add_conn()
261 list_add_tail(&conn->list, &node->conn_sks); in tipc_node_add_conn()
262 tipc_node_unlock(node); in tipc_node_add_conn()
264 tipc_node_put(node); in tipc_node_add_conn()
270 struct tipc_node *node; in tipc_node_remove_conn() local
276 node = tipc_node_find(net, dnode); in tipc_node_remove_conn()
277 if (!node) in tipc_node_remove_conn()
280 tipc_node_lock(node); in tipc_node_remove_conn()
281 list_for_each_entry_safe(conn, safe, &node->conn_sks, list) { in tipc_node_remove_conn()
287 tipc_node_unlock(node); in tipc_node_remove_conn()
288 tipc_node_put(node); in tipc_node_remove_conn()
906 struct tipc_node *node = tipc_node_find(net, addr); in tipc_node_get_linkname() local
908 if (!node) in tipc_node_get_linkname()
914 tipc_node_lock(node); in tipc_node_get_linkname()
915 link = node->links[bearer_id].link; in tipc_node_get_linkname()
921 tipc_node_unlock(node); in tipc_node_get_linkname()
922 tipc_node_put(node); in tipc_node_get_linkname()
926 void tipc_node_unlock(struct tipc_node *node) in tipc_node_unlock() argument
928 struct net *net = node->net; in tipc_node_unlock()
930 u32 flags = node->action_flags; in tipc_node_unlock()
935 spin_unlock_bh(&node->lock); in tipc_node_unlock()
939 addr = node->addr; in tipc_node_unlock()
940 link_id = node->link_id; in tipc_node_unlock()
941 publ_list = &node->publ_list; in tipc_node_unlock()
943 node->action_flags &= ~(TIPC_NOTIFY_NODE_DOWN | TIPC_NOTIFY_NODE_UP | in tipc_node_unlock()
946 spin_unlock_bh(&node->lock); in tipc_node_unlock()
965 static int __tipc_nl_add_node(struct tipc_nl_msg *msg, struct tipc_node *node) in __tipc_nl_add_node() argument
979 if (nla_put_u32(msg->skb, TIPC_NLA_NODE_ADDR, node->addr)) in __tipc_nl_add_node()
981 if (tipc_node_is_up(node)) in __tipc_nl_add_node()
1349 struct tipc_node *node; in tipc_nl_node_dump() local
1361 node = tipc_node_find(net, last_addr); in tipc_nl_node_dump()
1362 if (!node) { in tipc_nl_node_dump()
1374 tipc_node_put(node); in tipc_nl_node_dump()
1377 list_for_each_entry_rcu(node, &tn->node_list, list) { in tipc_nl_node_dump()
1379 if (node->addr == last_addr) in tipc_nl_node_dump()
1385 tipc_node_lock(node); in tipc_nl_node_dump()
1386 err = __tipc_nl_add_node(&msg, node); in tipc_nl_node_dump()
1388 last_addr = node->addr; in tipc_nl_node_dump()
1389 tipc_node_unlock(node); in tipc_nl_node_dump()
1393 tipc_node_unlock(node); in tipc_nl_node_dump()