Lines Matching refs:tpg
92 struct sbp_tpg *tpg, u64 guid) in sbp_session_find_by_guid() argument
97 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_session_find_by_guid()
98 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_session_find_by_guid()
103 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_session_find_by_guid()
124 struct sbp_tpg *tpg, in sbp_login_count_all_by_lun() argument
133 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_login_count_all_by_lun()
134 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_login_count_all_by_lun()
147 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_login_count_all_by_lun()
153 struct sbp_tpg *tpg, int login_id) in sbp_login_find_by_id() argument
159 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_login_find_by_id()
160 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_login_find_by_id()
170 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_login_find_by_id()
175 static u32 sbp_get_lun_from_tpg(struct sbp_tpg *tpg, u32 login_lun, int *err) in sbp_get_lun_from_tpg() argument
177 struct se_portal_group *se_tpg = &tpg->se_tpg; in sbp_get_lun_from_tpg()
195 struct sbp_tpg *tpg, in sbp_session_create() argument
220 se_nacl = core_tpg_check_initiator_node_acl(&tpg->se_tpg, guid_str); in sbp_session_create()
238 transport_register_session(&tpg->se_tpg, se_nacl, sess->se_sess, sess); in sbp_session_create()
294 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_login() local
302 unpacked_lun = sbp_get_lun_from_tpg(tpg, in sbp_management_request_login()
327 sess = sbp_session_find_by_guid(tpg, guid); in sbp_management_request_login()
357 sbp_login_count_all_by_lun(tpg, unpacked_lun, 0)) { in sbp_management_request_login()
370 if (sbp_login_count_all_by_lun(tpg, unpacked_lun, 1)) { in sbp_management_request_login()
383 if (sbp_login_count_all_by_lun(tpg, unpacked_lun, 0) >= in sbp_management_request_login()
394 sess = sbp_session_create(tpg, guid); in sbp_management_request_login()
525 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_reconnect() local
542 login = sbp_login_find_by_id(tpg, in sbp_management_request_reconnect()
584 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_logout() local
590 login = sbp_login_find_by_id(tpg, id); in sbp_management_request_logout()
1696 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_get_fabric_wwn() local
1697 struct sbp_tport *tport = tpg->tport; in sbp_get_fabric_wwn()
1704 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_get_tag() local
1705 return tpg->tport_tpgt; in sbp_get_tag()
1824 static int sbp_count_se_tpg_luns(struct se_portal_group *tpg) in sbp_count_se_tpg_luns() argument
1830 hlist_for_each_entry_rcu(lun, &tpg->tpg_lun_hlist, link) in sbp_count_se_tpg_luns()
1849 if (!tport->enable || !tport->tpg) in sbp_update_unit_directory()
1852 num_luns = sbp_count_se_tpg_luns(&tport->tpg->se_tpg); in sbp_update_unit_directory()
1903 hlist_for_each_entry_rcu(lun, &tport->tpg->se_tpg.tpg_lun_hlist, link) { in sbp_update_unit_directory()
1990 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_post_link_lun() local
1992 return sbp_update_unit_directory(tpg->tport); in sbp_post_link_lun()
1999 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_pre_unlink_lun() local
2000 struct sbp_tport *tport = tpg->tport; in sbp_pre_unlink_lun()
2003 if (sbp_count_se_tpg_luns(&tpg->se_tpg) == 0) in sbp_pre_unlink_lun()
2019 struct sbp_tpg *tpg; in sbp_make_tpg() local
2028 if (tport->tpg) { in sbp_make_tpg()
2033 tpg = kzalloc(sizeof(*tpg), GFP_KERNEL); in sbp_make_tpg()
2034 if (!tpg) { in sbp_make_tpg()
2039 tpg->tport = tport; in sbp_make_tpg()
2040 tpg->tport_tpgt = tpgt; in sbp_make_tpg()
2041 tport->tpg = tpg; in sbp_make_tpg()
2056 ret = core_tpg_register(wwn, &tpg->se_tpg, SCSI_PROTOCOL_SBP); in sbp_make_tpg()
2060 return &tpg->se_tpg; in sbp_make_tpg()
2065 tport->tpg = NULL; in sbp_make_tpg()
2066 kfree(tpg); in sbp_make_tpg()
2072 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_drop_tpg() local
2073 struct sbp_tport *tport = tpg->tport; in sbp_drop_tpg()
2077 tport->tpg = NULL; in sbp_drop_tpg()
2078 kfree(tpg); in sbp_drop_tpg()
2127 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_directory_id_show() local
2128 struct sbp_tport *tport = tpg->tport; in sbp_tpg_directory_id_show()
2140 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_directory_id_store() local
2141 struct sbp_tport *tport = tpg->tport; in sbp_tpg_directory_id_store()
2166 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_enable_show() local
2167 struct sbp_tport *tport = tpg->tport; in sbp_tpg_enable_show()
2175 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_enable_store() local
2176 struct sbp_tport *tport = tpg->tport; in sbp_tpg_enable_store()
2189 if (sbp_count_se_tpg_luns(&tpg->se_tpg) == 0) { in sbp_tpg_enable_store()
2227 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_mgt_orb_timeout_show() local
2228 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_mgt_orb_timeout_show()
2236 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_mgt_orb_timeout_store() local
2237 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_mgt_orb_timeout_store()
2262 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_reconnect_timeout_show() local
2263 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_reconnect_timeout_show()
2271 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_reconnect_timeout_store() local
2272 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_reconnect_timeout_store()
2297 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_logins_per_lun_show() local
2298 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_logins_per_lun_show()
2306 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_logins_per_lun_store() local
2307 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_logins_per_lun_store()