Lines Matching refs:nport

220 	struct fcloop_nport		*nport;  member
230 struct fcloop_nport *nport; member
944 struct fcloop_nport *nport = in fcloop_nport_free() local
949 list_del(&nport->nport_list); in fcloop_nport_free()
952 kfree(nport); in fcloop_nport_free()
956 fcloop_nport_put(struct fcloop_nport *nport) in fcloop_nport_put() argument
958 kref_put(&nport->ref, fcloop_nport_free); in fcloop_nport_put()
962 fcloop_nport_get(struct fcloop_nport *nport) in fcloop_nport_get() argument
964 return kref_get_unless_zero(&nport->ref); in fcloop_nport_get()
983 fcloop_nport_put(rport->nport); in fcloop_remoteport_delete()
992 fcloop_nport_put(tport->nport); in fcloop_targetport_delete()
1161 struct fcloop_nport *newnport, *nport = NULL; in fcloop_alloc_nport() local
1213 list_for_each_entry(nport, &fcloop_nports, nport_list) { in fcloop_alloc_nport()
1214 if (nport->node_name == opts->wwnn && in fcloop_alloc_nport()
1215 nport->port_name == opts->wwpn) { in fcloop_alloc_nport()
1216 if ((remoteport && nport->rport) || in fcloop_alloc_nport()
1217 (!remoteport && nport->tport)) { in fcloop_alloc_nport()
1218 nport = NULL; in fcloop_alloc_nport()
1222 fcloop_nport_get(nport); in fcloop_alloc_nport()
1227 nport->lport = lport; in fcloop_alloc_nport()
1229 nport->port_role = opts->roles; in fcloop_alloc_nport()
1231 nport->port_id = opts->fcaddr; in fcloop_alloc_nport()
1249 return nport; in fcloop_alloc_nport()
1257 struct fcloop_nport *nport; in fcloop_create_remote_port() local
1262 nport = fcloop_alloc_nport(buf, count, true); in fcloop_create_remote_port()
1263 if (!nport) in fcloop_create_remote_port()
1267 pinfo.node_name = nport->node_name; in fcloop_create_remote_port()
1268 pinfo.port_name = nport->port_name; in fcloop_create_remote_port()
1269 pinfo.port_role = nport->port_role; in fcloop_create_remote_port()
1270 pinfo.port_id = nport->port_id; in fcloop_create_remote_port()
1272 ret = nvme_fc_register_remoteport(nport->lport->localport, in fcloop_create_remote_port()
1275 fcloop_nport_put(nport); in fcloop_create_remote_port()
1282 rport->targetport = (nport->tport) ? nport->tport->targetport : NULL; in fcloop_create_remote_port()
1283 if (nport->tport) { in fcloop_create_remote_port()
1284 nport->tport->remoteport = remoteport; in fcloop_create_remote_port()
1285 nport->tport->lport = nport->lport; in fcloop_create_remote_port()
1287 rport->nport = nport; in fcloop_create_remote_port()
1288 rport->lport = nport->lport; in fcloop_create_remote_port()
1289 nport->rport = rport; in fcloop_create_remote_port()
1299 __unlink_remote_port(struct fcloop_nport *nport) in __unlink_remote_port() argument
1301 struct fcloop_rport *rport = nport->rport; in __unlink_remote_port()
1303 if (rport && nport->tport) in __unlink_remote_port()
1304 nport->tport->remoteport = NULL; in __unlink_remote_port()
1305 nport->rport = NULL; in __unlink_remote_port()
1311 __remoteport_unreg(struct fcloop_nport *nport, struct fcloop_rport *rport) in __remoteport_unreg() argument
1323 struct fcloop_nport *nport = NULL, *tmpport; in fcloop_delete_remote_port() local
1338 nport = tmpport; in fcloop_delete_remote_port()
1339 rport = __unlink_remote_port(nport); in fcloop_delete_remote_port()
1346 if (!nport) in fcloop_delete_remote_port()
1349 ret = __remoteport_unreg(nport, rport); in fcloop_delete_remote_port()
1359 struct fcloop_nport *nport; in fcloop_create_target_port() local
1364 nport = fcloop_alloc_nport(buf, count, false); in fcloop_create_target_port()
1365 if (!nport) in fcloop_create_target_port()
1368 tinfo.node_name = nport->node_name; in fcloop_create_target_port()
1369 tinfo.port_name = nport->port_name; in fcloop_create_target_port()
1370 tinfo.port_id = nport->port_id; in fcloop_create_target_port()
1375 fcloop_nport_put(nport); in fcloop_create_target_port()
1382 tport->remoteport = (nport->rport) ? nport->rport->remoteport : NULL; in fcloop_create_target_port()
1383 if (nport->rport) in fcloop_create_target_port()
1384 nport->rport->targetport = targetport; in fcloop_create_target_port()
1385 tport->nport = nport; in fcloop_create_target_port()
1386 tport->lport = nport->lport; in fcloop_create_target_port()
1387 nport->tport = tport; in fcloop_create_target_port()
1397 __unlink_target_port(struct fcloop_nport *nport) in __unlink_target_port() argument
1399 struct fcloop_tport *tport = nport->tport; in __unlink_target_port()
1401 if (tport && nport->rport) in __unlink_target_port()
1402 nport->rport->targetport = NULL; in __unlink_target_port()
1403 nport->tport = NULL; in __unlink_target_port()
1409 __targetport_unreg(struct fcloop_nport *nport, struct fcloop_tport *tport) in __targetport_unreg() argument
1421 struct fcloop_nport *nport = NULL, *tmpport; in fcloop_delete_target_port() local
1436 nport = tmpport; in fcloop_delete_target_port()
1437 tport = __unlink_target_port(nport); in fcloop_delete_target_port()
1444 if (!nport) in fcloop_delete_target_port()
1447 ret = __targetport_unreg(nport, tport); in fcloop_delete_target_port()
1515 struct fcloop_nport *nport; in fcloop_exit() local
1524 nport = list_first_entry_or_null(&fcloop_nports, in fcloop_exit()
1525 typeof(*nport), nport_list); in fcloop_exit()
1526 if (!nport) in fcloop_exit()
1529 tport = __unlink_target_port(nport); in fcloop_exit()
1530 rport = __unlink_remote_port(nport); in fcloop_exit()
1534 ret = __targetport_unreg(nport, tport); in fcloop_exit()
1538 ret = __remoteport_unreg(nport, rport); in fcloop_exit()