Lines Matching refs:node

258 	link_cache_t *node;  in ibpart_unregister()  local
264 node = cache_head.pc_next; in ibpart_unregister()
265 while (node != &cache_tail) { in ibpart_unregister()
266 if (rcm_unregister_interest(hd, node->pc_resource, 0) in ibpart_unregister()
270 node->pc_resource); in ibpart_unregister()
274 cache_remove(node); in ibpart_unregister()
275 node_free(node); in ibpart_unregister()
276 node = cache_head.pc_next; in ibpart_unregister()
307 link_cache_t *node; in ibpart_offline() local
313 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in ibpart_offline()
314 if (node == NULL) { in ibpart_offline()
316 ibpart_log_err(node->pc_linkid, errorp, in ibpart_offline()
325 if (ibpart_consumer_offline(hd, node, errorp, flags, info) == in ibpart_offline()
330 ibpart_log_err(node->pc_linkid, errorp, in ibpart_offline()
344 if (ibpart_offline_ibpart(node, IBPART_OFFLINED, CACHE_NODE_OFFLINED) != in ibpart_offline()
346 ibpart_online_ibpart(node); in ibpart_offline()
347 ibpart_log_err(node->pc_linkid, errorp, "offline failed"); in ibpart_offline()
365 link_cache_t *node; in ibpart_undo_offline() local
370 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in ibpart_undo_offline()
371 if (node == NULL) { in ibpart_undo_offline()
379 if (!(node->pc_state & CACHE_NODE_OFFLINED)) { in ibpart_undo_offline()
380 ibpart_log_err(node->pc_linkid, errorp, "link not offlined"); in ibpart_undo_offline()
386 ibpart_online_ibpart(node); in ibpart_undo_offline()
391 ibpart_consumer_online(hd, node, errorp, flags, info); in ibpart_undo_offline()
393 node->pc_state &= ~CACHE_NODE_OFFLINED; in ibpart_undo_offline()
400 ibpart_online_ibpart(link_cache_t *node) in ibpart_online_ibpart() argument
409 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_online_ibpart()
433 ibpart_offline_ibpart(link_cache_t *node, uint32_t flags, in ibpart_offline_ibpart() argument
441 "(%s %u %u)\n", node->pc_resource, flags, state); in ibpart_offline_ibpart()
446 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_offline_ibpart()
466 node->pc_state |= state; in ibpart_offline_ibpart()
478 link_cache_t *node; in ibpart_get_info() local
483 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in ibpart_get_info()
484 if (node == NULL) { in ibpart_get_info()
492 *usagep = ibpart_usage(node); in ibpart_get_info()
541 ibpart_consumer_remove(rcm_handle_t *hd, link_cache_t *node, uint_t flags, in ibpart_consumer_remove() argument
549 node->pc_resource); in ibpart_consumer_remove()
551 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_consumer_remove()
584 link_cache_t *node; in ibpart_remove() local
590 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in ibpart_remove()
591 if (node == NULL) { in ibpart_remove()
600 cache_remove(node); in ibpart_remove()
603 rv = ibpart_consumer_remove(hd, node, flags, info); in ibpart_remove()
604 node_free(node); in ibpart_remove()
683 ibpart_usage(link_cache_t *node) in ibpart_usage() argument
695 rcm_log_message(RCM_TRACE2, "IBPART: usage(%s)\n", node->pc_resource); in ibpart_usage()
698 if ((status = dladm_datalink_id2info(dld_handle, node->pc_linkid, NULL, in ibpart_usage()
702 node->pc_resource, dladm_status2str(status, errmsg)); in ibpart_usage()
706 if (node->pc_state & CACHE_NODE_OFFLINED) in ibpart_usage()
715 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_usage()
725 node->pc_resource, strerror(errno)); in ibpart_usage()
730 if (node->pc_state & CACHE_NODE_OFFLINED) { in ibpart_usage()
733 node->pc_resource, buf); in ibpart_usage()
737 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_usage()
747 "failure(%s)\n"), node->pc_resource, in ibpart_usage()
760 node->pc_resource, buf); in ibpart_usage()
780 link_cache_t *node; in cache_lookup() local
792 node = cache_head.pc_next; in cache_lookup()
793 for (; node != &cache_tail; node = node->pc_next) { in cache_lookup()
794 if (strcmp(rsrc, node->pc_resource) == 0) { in cache_lookup()
797 return (node); in cache_lookup()
807 node_free(link_cache_t *node) in node_free() argument
811 if (node != NULL) { in node_free()
812 free(node->pc_resource); in node_free()
815 for (ibpart = node->pc_ibpart; ibpart != NULL; ibpart = next) { in node_free()
819 free(node); in node_free()
827 cache_insert(link_cache_t *node) in cache_insert() argument
832 node->pc_next = cache_head.pc_next; in cache_insert()
833 node->pc_prev = &cache_head; in cache_insert()
835 node->pc_next->pc_prev = node; in cache_insert()
836 node->pc_prev->pc_next = node; in cache_insert()
843 cache_remove(link_cache_t *node) in cache_remove() argument
846 node->pc_next->pc_prev = node->pc_prev; in cache_remove()
847 node->pc_prev->pc_next = node->pc_next; in cache_remove()
848 node->pc_next = NULL; in cache_remove()
849 node->pc_prev = NULL; in cache_remove()
865 link_cache_t *node; in ibpart_update() local
906 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in ibpart_update()
907 if (node != NULL) { in ibpart_update()
916 if ((node = calloc(1, sizeof (link_cache_t))) == NULL) { in ibpart_update()
923 node->pc_resource = rsrc; in ibpart_update()
924 node->pc_ibpart = NULL; in ibpart_update()
925 node->pc_linkid = ibpart_attr.dia_physlinkid; in ibpart_update()
926 node->pc_state |= CACHE_NODE_NEW; in ibpart_update()
930 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_update()
944 free(node); in ibpart_update()
949 ibpart->dlib_next = node->pc_ibpart; in ibpart_update()
951 if (node->pc_ibpart != NULL) in ibpart_update()
952 node->pc_ibpart->dlib_prev = ibpart; in ibpart_update()
953 node->pc_ibpart = ibpart; in ibpart_update()
956 node->pc_state &= ~CACHE_NODE_STALE; in ibpart_update()
959 cache_insert(node); in ibpart_update()
992 link_cache_t *node, *nnode; in cache_update() local
1001 node = cache_head.pc_next; in cache_update()
1002 for (; node != &cache_tail; node = node->pc_next) { in cache_update()
1003 node->pc_state |= CACHE_NODE_STALE; in cache_update()
1004 for (ibpart = node->pc_ibpart; ibpart != NULL; in cache_update()
1016 for (node = cache_head.pc_next; node != &cache_tail; node = nnode) { in cache_update()
1019 for (ibpart = node->pc_ibpart; ibpart != NULL; ibpart = next) { in cache_update()
1027 node->pc_ibpart = next; in cache_update()
1035 nnode = node->pc_next; in cache_update()
1036 if (node->pc_state & CACHE_NODE_STALE) { in cache_update()
1037 (void) rcm_unregister_interest(hd, node->pc_resource, in cache_update()
1040 node->pc_resource); in cache_update()
1041 assert(node->pc_ibpart == NULL); in cache_update()
1042 cache_remove(node); in cache_update()
1043 node_free(node); in cache_update()
1047 if (!(node->pc_state & CACHE_NODE_NEW)) in cache_update()
1050 if (rcm_register_interest(hd, node->pc_resource, 0, NULL) != in cache_update()
1054 node->pc_resource); in cache_update()
1058 node->pc_resource); in cache_update()
1059 node->pc_state &= ~CACHE_NODE_NEW; in cache_update()
1073 link_cache_t *node; in cache_free() local
1078 node = cache_head.pc_next; in cache_free()
1079 while (node != &cache_tail) { in cache_free()
1080 cache_remove(node); in cache_free()
1081 node_free(node); in cache_free()
1082 node = cache_head.pc_next; in cache_free()
1138 ibpart_consumer_online(rcm_handle_t *hd, link_cache_t *node, char **errorp, in ibpart_consumer_online() argument
1145 node->pc_resource); in ibpart_consumer_online()
1147 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_consumer_online()
1168 ibpart_consumer_offline(rcm_handle_t *hd, link_cache_t *node, char **errorp, in ibpart_consumer_offline() argument
1176 node->pc_resource); in ibpart_consumer_offline()
1178 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_consumer_offline()
1191 ibpart_consumer_online(hd, node, errorp, flags, info); in ibpart_consumer_offline()
1204 link_cache_t *node; in ibpart_notify_new_ibpart() local
1214 if ((node = cache_lookup(hd, rsrc, CACHE_REFRESH)) == NULL) { in ibpart_notify_new_ibpart()
1226 for (ibpart = node->pc_ibpart; ibpart != NULL; in ibpart_notify_new_ibpart()
1245 RCM_RESOURCE_LINK_NEW, node->pc_resource); in ibpart_notify_new_ibpart()
1263 link_cache_t *node; in ibpart_consumer_notify() local
1277 if ((node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH)) != NULL) { in ibpart_consumer_notify()
1278 (void) ibpart_offline_ibpart(node, IBPART_STALE, in ibpart_consumer_notify()
1339 link_cache_t *node; in ibpart_configure() local
1349 if (((node = cache_lookup(hd, rsrc, CACHE_REFRESH)) != NULL) && in ibpart_configure()
1350 (!(node->pc_state & CACHE_NODE_OFFLINED))) { in ibpart_configure()