Lines Matching refs:tpg
78 struct sbp_tpg *tpg, u64 guid) in sbp_session_find_by_guid() argument
83 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_session_find_by_guid()
84 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_session_find_by_guid()
89 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_session_find_by_guid()
110 struct sbp_tpg *tpg, in sbp_login_count_all_by_lun() argument
119 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_login_count_all_by_lun()
120 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_login_count_all_by_lun()
133 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_login_count_all_by_lun()
139 struct sbp_tpg *tpg, int login_id) in sbp_login_find_by_id() argument
145 spin_lock_bh(&tpg->se_tpg.session_lock); in sbp_login_find_by_id()
146 list_for_each_entry(se_sess, &tpg->se_tpg.tpg_sess_list, sess_list) { in sbp_login_find_by_id()
156 spin_unlock_bh(&tpg->se_tpg.session_lock); in sbp_login_find_by_id()
161 static u32 sbp_get_lun_from_tpg(struct sbp_tpg *tpg, u32 login_lun, int *err) in sbp_get_lun_from_tpg() argument
163 struct se_portal_group *se_tpg = &tpg->se_tpg; in sbp_get_lun_from_tpg()
181 struct sbp_tpg *tpg, in sbp_session_create() argument
199 sess->se_sess = target_setup_session(&tpg->se_tpg, 128, in sbp_session_create()
263 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_login() local
271 unpacked_lun = sbp_get_lun_from_tpg(tpg, in sbp_management_request_login()
296 sess = sbp_session_find_by_guid(tpg, guid); in sbp_management_request_login()
326 sbp_login_count_all_by_lun(tpg, unpacked_lun, 0)) { in sbp_management_request_login()
339 if (sbp_login_count_all_by_lun(tpg, unpacked_lun, 1)) { in sbp_management_request_login()
352 if (sbp_login_count_all_by_lun(tpg, unpacked_lun, 0) >= in sbp_management_request_login()
363 sess = sbp_session_create(tpg, guid); in sbp_management_request_login()
494 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_reconnect() local
511 login = sbp_login_find_by_id(tpg, in sbp_management_request_reconnect()
553 struct sbp_tpg *tpg = tport->tpg; in sbp_management_request_logout() local
559 login = sbp_login_find_by_id(tpg, id); in sbp_management_request_logout()
1686 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_get_fabric_wwn() local
1687 struct sbp_tport *tport = tpg->tport; in sbp_get_fabric_wwn()
1694 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_get_tag() local
1695 return tpg->tport_tpgt; in sbp_get_tag()
1798 static int sbp_count_se_tpg_luns(struct se_portal_group *tpg) in sbp_count_se_tpg_luns() argument
1804 hlist_for_each_entry_rcu(lun, &tpg->tpg_lun_hlist, link) in sbp_count_se_tpg_luns()
1823 if (!tport->enable || !tport->tpg) in sbp_update_unit_directory()
1826 num_luns = sbp_count_se_tpg_luns(&tport->tpg->se_tpg); in sbp_update_unit_directory()
1877 hlist_for_each_entry_rcu(lun, &tport->tpg->se_tpg.tpg_lun_hlist, link) { in sbp_update_unit_directory()
1964 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_post_link_lun() local
1966 return sbp_update_unit_directory(tpg->tport); in sbp_post_link_lun()
1973 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_pre_unlink_lun() local
1974 struct sbp_tport *tport = tpg->tport; in sbp_pre_unlink_lun()
1977 if (sbp_count_se_tpg_luns(&tpg->se_tpg) == 0) in sbp_pre_unlink_lun()
1991 struct sbp_tpg *tpg; in sbp_make_tpg() local
2000 if (tport->tpg) { in sbp_make_tpg()
2005 tpg = kzalloc(sizeof(*tpg), GFP_KERNEL); in sbp_make_tpg()
2006 if (!tpg) in sbp_make_tpg()
2009 tpg->tport = tport; in sbp_make_tpg()
2010 tpg->tport_tpgt = tpgt; in sbp_make_tpg()
2011 tport->tpg = tpg; in sbp_make_tpg()
2026 ret = core_tpg_register(wwn, &tpg->se_tpg, SCSI_PROTOCOL_SBP); in sbp_make_tpg()
2030 return &tpg->se_tpg; in sbp_make_tpg()
2035 tport->tpg = NULL; in sbp_make_tpg()
2036 kfree(tpg); in sbp_make_tpg()
2042 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_drop_tpg() local
2043 struct sbp_tport *tport = tpg->tport; in sbp_drop_tpg()
2047 tport->tpg = NULL; in sbp_drop_tpg()
2048 kfree(tpg); in sbp_drop_tpg()
2095 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_directory_id_show() local
2096 struct sbp_tport *tport = tpg->tport; in sbp_tpg_directory_id_show()
2108 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_directory_id_store() local
2109 struct sbp_tport *tport = tpg->tport; in sbp_tpg_directory_id_store()
2134 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_enable_show() local
2135 struct sbp_tport *tport = tpg->tport; in sbp_tpg_enable_show()
2143 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_enable_store() local
2144 struct sbp_tport *tport = tpg->tport; in sbp_tpg_enable_store()
2157 if (sbp_count_se_tpg_luns(&tpg->se_tpg) == 0) { in sbp_tpg_enable_store()
2195 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_mgt_orb_timeout_show() local
2196 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_mgt_orb_timeout_show()
2204 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_mgt_orb_timeout_store() local
2205 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_mgt_orb_timeout_store()
2230 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_reconnect_timeout_show() local
2231 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_reconnect_timeout_show()
2239 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_reconnect_timeout_store() local
2240 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_reconnect_timeout_store()
2265 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_logins_per_lun_show() local
2266 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_logins_per_lun_show()
2274 struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg); in sbp_tpg_attrib_max_logins_per_lun_store() local
2275 struct sbp_tport *tport = tpg->tport; in sbp_tpg_attrib_max_logins_per_lun_store()