Lines Matching refs:rnodep

3229 	fc_remote_node_t *rnodep;  in fctl_create_remote_node()  local
3231 if ((rnodep = kmem_zalloc(sizeof (*rnodep), sleep)) == NULL) { in fctl_create_remote_node()
3235 mutex_init(&rnodep->fd_mutex, NULL, MUTEX_DRIVER, NULL); in fctl_create_remote_node()
3237 rnodep->fd_node_name = *nwwn; in fctl_create_remote_node()
3238 rnodep->fd_flags = FC_REMOTE_NODE_VALID; in fctl_create_remote_node()
3239 rnodep->fd_numports = 1; in fctl_create_remote_node()
3241 if (fctl_enlist_nwwn_table(rnodep, sleep) != FC_SUCCESS) { in fctl_create_remote_node()
3242 mutex_destroy(&rnodep->fd_mutex); in fctl_create_remote_node()
3243 kmem_free(rnodep, sizeof (*rnodep)); in fctl_create_remote_node()
3247 return (rnodep); in fctl_create_remote_node()
3257 fctl_destroy_remote_node(fc_remote_node_t *rnodep) in fctl_destroy_remote_node() argument
3259 mutex_enter(&rnodep->fd_mutex); in fctl_destroy_remote_node()
3266 if (rnodep->fd_numports != 0 || rnodep->fd_portlistp) { in fctl_destroy_remote_node()
3267 mutex_exit(&rnodep->fd_mutex); in fctl_destroy_remote_node()
3271 mutex_exit(&rnodep->fd_mutex); in fctl_destroy_remote_node()
3273 mutex_destroy(&rnodep->fd_mutex); in fctl_destroy_remote_node()
3274 kmem_free(rnodep, sizeof (*rnodep)); in fctl_destroy_remote_node()
3286 fctl_enlist_nwwn_table(fc_remote_node_t *rnodep, int sleep) in fctl_enlist_nwwn_table() argument
3292 ASSERT(!MUTEX_HELD(&rnodep->fd_mutex)); in fctl_enlist_nwwn_table()
3299 new->fne_nodep = rnodep; in fctl_enlist_nwwn_table()
3301 mutex_enter(&rnodep->fd_mutex); in fctl_enlist_nwwn_table()
3302 ASSERT(fctl_is_wwn_zero(&rnodep->fd_node_name) == FC_FAILURE); in fctl_enlist_nwwn_table()
3303 index = HASH_FUNC(WWN_HASH_KEY(rnodep->fd_node_name.raw_wwn), in fctl_enlist_nwwn_table()
3305 mutex_exit(&rnodep->fd_mutex); in fctl_enlist_nwwn_table()
3324 fctl_delist_nwwn_table(fc_remote_node_t *rnodep) in fctl_delist_nwwn_table() argument
3332 ASSERT(MUTEX_HELD(&rnodep->fd_mutex)); in fctl_delist_nwwn_table()
3334 index = HASH_FUNC(WWN_HASH_KEY(rnodep->fd_node_name.raw_wwn), in fctl_delist_nwwn_table()
3342 if (elem->fne_nodep == rnodep) { in fctl_delist_nwwn_table()
3382 fc_remote_node_t *rnodep = NULL; in fctl_get_remote_node_by_nwwn() local
3395 rnodep = next; in fctl_get_remote_node_by_nwwn()
3405 return (rnodep); in fctl_get_remote_node_by_nwwn()
3422 fc_remote_node_t *rnodep = NULL; in fctl_lock_remote_node_by_nwwn() local
3435 rnodep = next; in fctl_lock_remote_node_by_nwwn()
3436 rnodep->fd_numports++; in fctl_lock_remote_node_by_nwwn()
3446 return (rnodep); in fctl_lock_remote_node_by_nwwn()
3501 fctl_link_remote_port_to_remote_node(fc_remote_node_t *rnodep, in fctl_link_remote_port_to_remote_node() argument
3507 mutex_enter(&rnodep->fd_mutex); in fctl_link_remote_port_to_remote_node()
3510 for (ports = rnodep->fd_portlistp; ports != NULL; in fctl_link_remote_port_to_remote_node()
3517 mutex_exit(&rnodep->fd_mutex); in fctl_link_remote_port_to_remote_node()
3527 rnodep->fd_portlistp = pd; in fctl_link_remote_port_to_remote_node()
3535 pd->pd_remote_nodep = rnodep; in fctl_link_remote_port_to_remote_node()
3538 mutex_exit(&rnodep->fd_mutex); in fctl_link_remote_port_to_remote_node()
3555 fctl_unlink_remote_port_from_remote_node(fc_remote_node_t *rnodep, in fctl_unlink_remote_port_from_remote_node() argument
3562 ASSERT(!MUTEX_HELD(&rnodep->fd_mutex)); in fctl_unlink_remote_port_from_remote_node()
3569 mutex_enter(&rnodep->fd_mutex); in fctl_unlink_remote_port_from_remote_node()
3575 ports = rnodep->fd_portlistp; in fctl_unlink_remote_port_from_remote_node()
3585 rcount = --rnodep->fd_numports; in fctl_unlink_remote_port_from_remote_node()
3588 fctl_delist_nwwn_table(rnodep); in fctl_unlink_remote_port_from_remote_node()
3593 rnodep->fd_portlistp = pd->pd_port_next; in fctl_unlink_remote_port_from_remote_node()
3602 mutex_exit(&rnodep->fd_mutex); in fctl_unlink_remote_port_from_remote_node()
4523 fc_remote_node_t *rnodep; in fctl_create_remote_port() local
4526 rnodep = fctl_get_remote_node_by_nwwn(node_wwn); in fctl_create_remote_port()
4527 if (rnodep) { in fctl_create_remote_port()
4532 mutex_enter(&rnodep->fd_mutex); in fctl_create_remote_port()
4533 invalid = (rnodep->fd_flags == FC_REMOTE_NODE_INVALID) ? 1 : 0; in fctl_create_remote_port()
4534 mutex_exit(&rnodep->fd_mutex); in fctl_create_remote_port()
4536 if (rnodep == NULL || invalid) { in fctl_create_remote_port()
4541 rnodep = fctl_create_remote_node(node_wwn, sleep); in fctl_create_remote_port()
4542 if (rnodep == NULL) { in fctl_create_remote_port()
4579 fctl_destroy_remote_node(rnodep); in fctl_create_remote_port()
4588 pd->pd_remote_nodep = rnodep; in fctl_create_remote_port()
4600 rnodep = fctl_lock_remote_node_by_nwwn(node_wwn); in fctl_create_remote_port()
4679 if (rnodep != pd->pd_remote_nodep) { in fctl_create_remote_port()
4680 if ((rnodep != NULL) && in fctl_create_remote_port()
4712 fctl_link_remote_port_to_remote_node(rnodep, pd); in fctl_create_remote_port()
4739 fc_remote_node_t *rnodep; in fctl_destroy_remote_port() local
4762 rnodep = pd->pd_remote_nodep; in fctl_destroy_remote_port()
4766 if (rnodep != NULL) { in fctl_destroy_remote_port()
4772 rcount = fctl_unlink_remote_port_from_remote_node(rnodep, pd); in fctl_destroy_remote_port()
4817 fc_remote_node_t *rnodep; in fctl_destroy_all_remote_ports() local
4835 rnodep = pd->pd_remote_nodep; in fctl_destroy_all_remote_ports()
4838 if (rnodep != NULL) { in fctl_destroy_all_remote_ports()
4845 rnodep, pd) == 0) { in fctl_destroy_all_remote_ports()
4861 fctl_destroy_remote_node(rnodep); in fctl_destroy_all_remote_ports()