Lines Matching refs:rdata
1999 * @rdata: libfc remote port
2001 static inline struct fcoe_rport *fcoe_ctlr_rport(struct fc_rport_priv *rdata)
2003 return container_of(rdata, struct fcoe_rport, rdata);
2113 * @rdata: remote port private data
2119 struct fc_rport_priv *rdata,
2123 struct fcoe_rport *frport = fcoe_ctlr_rport(rdata);
2126 rdata->ids.port_id, event);
2140 rdata->ids.port_id);
2141 fc_rport_logoff(rdata);
2162 struct fc_rport_priv *rdata;
2165 list_for_each_entry_rcu(rdata, &lport->disc.rports, peers) {
2166 if (kref_get_unless_zero(&rdata->kref)) {
2167 fc_rport_logoff(rdata);
2168 kref_put(&rdata->kref, fc_rport_destroy);
2343 frport->rdata.ids.node_name =
2351 frport->rdata.ids.port_id = ntoh24(vn->fd_fc_id);
2352 frport->rdata.ids.port_name =
2406 if (frport->rdata.ids.port_id != fip->port_id)
2426 if (fip->lp->wwpn > frport->rdata.ids.port_name &&
2457 if (frport->rdata.ids.port_id != fip->port_id)
2480 * @new: newly-parsed FCoE rport as a template for new rdata
2487 struct fc_rport_priv *rdata;
2492 port_id = new->rdata.ids.port_id;
2497 rdata = fc_rport_create(lport, port_id);
2498 if (!rdata) {
2502 mutex_lock(&rdata->rp_mutex);
2505 rdata->ops = &fcoe_ctlr_vn_rport_ops;
2506 rdata->disc_id = lport->disc.disc_id;
2508 ids = &rdata->ids;
2510 ids->port_name != new->rdata.ids.port_name) ||
2512 ids->node_name != new->rdata.ids.node_name)) {
2513 mutex_unlock(&rdata->rp_mutex);
2515 fc_rport_logoff(rdata);
2516 mutex_lock(&rdata->rp_mutex);
2518 ids->port_name = new->rdata.ids.port_name;
2519 ids->node_name = new->rdata.ids.node_name;
2520 mutex_unlock(&rdata->rp_mutex);
2522 frport = fcoe_ctlr_rport(rdata);
2525 rdata->rp_state);
2545 struct fc_rport_priv *rdata;
2549 rdata = fc_rport_lookup(lport, port_id);
2550 if (rdata) {
2551 frport = fcoe_ctlr_rport(rdata);
2554 kref_put(&rdata->kref, fc_rport_destroy);
2562 * @new: newly-parsed FCoE rport as a template for new rdata
2578 if (new->rdata.ids.port_id == fip->port_id) {
2587 if (new->rdata.ids.port_id == fip->port_id) {
2588 if (new->rdata.ids.port_name > fip->lp->wwpn) {
2600 new->rdata.ids.port_id);
2609 new->rdata.ids.port_id);
2625 new->rdata.ids.port_id, fcoe_ctlr_state(fip->state));
2641 struct fc_rport_priv *rdata;
2649 rdata = fc_rport_lookup(lport, new->rdata.ids.port_id);
2650 if (rdata) {
2651 if (rdata->ids.node_name == new->rdata.ids.node_name &&
2652 rdata->ids.port_name == new->rdata.ids.port_name) {
2653 frport = fcoe_ctlr_rport(rdata);
2656 rdata->ids.port_id);
2660 rdata->ids.port_id);
2661 fc_rport_login(rdata);
2665 kref_put(&rdata->kref, fc_rport_destroy);
2677 new->rdata.ids.port_id);
2694 struct fc_rport_priv *rdata;
2701 list_for_each_entry_rcu(rdata, &lport->disc.rports, peers) {
2702 if (!kref_get_unless_zero(&rdata->kref))
2704 frport = fcoe_ctlr_rport(rdata);
2706 kref_put(&rdata->kref, fc_rport_destroy);
2715 rdata->ids.port_name, rdata->ids.port_id);
2716 fc_rport_logoff(rdata);
2719 kref_put(&rdata->kref, fc_rport_destroy);
2863 frport->rdata.ids.node_name =
3049 struct fc_rport_priv *rdata;
3056 list_for_each_entry_rcu(rdata, &disc->rports, peers) {
3057 if (!kref_get_unless_zero(&rdata->kref))
3059 frport = fcoe_ctlr_rport(rdata);
3061 fc_rport_login(rdata);
3062 kref_put(&rdata->kref, fc_rport_destroy);