bnx2i_drop_session(9)
π bnx2i_drop_session β a little Kernel API Manual moment (section 9, bestie)
okay so real talk, this one lives in the Kernel API Manual, section 9, and it's called bnx2i_drop_session. it's tiny. it's iconic. let's go π«Ά
β¨ SYNOPSIS β¨
void bnx2i_drop_session (struct iscsi_cls_session *cls_session );
that's it. that's the whole vibe. no return value, no drama πΈ
π ARGUMENTS π
cls_sessionβ the iscsi cls session pointer, aka the main character of this whole function π
π¦ DESCRIPTION π¦
so what does it do? it notifies iscsid that there's an error, so iscsid can go ahead and initiate recovery. like, "hey bestie, something's up, go fix it" π£
and here's the part you cannot skip, ngl: this function relies on the caller using the iscsi class iterator so that the object is refcounted and does not disapper from under us. (yes, that's spelled exactly like that in the original β we don't fix typos, we respect them π) so if you're not iterating the iscsi class, the object could vanish mid-call and that would be a whole mess. use the iterator. periodt β¨
lowkey important: the refcount safety net only exists if you, the caller, are using the iscsi class iterator. no iterator, no safety. don't do that to yourself π
π SEE ALSO π
- Kernel file
./drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_get_write_cmd_bd_idx(9)bnx2i_setup_write_cmd_bd_info(9)bnx2i_map_scsi_sg(9)bnx2i_iscsi_map_sg_list(9)bnx2i_iscsi_unmap_sg_list(9)bnx2i_bind_conn_to_iscsi_cid(9)bnx2i_get_conn_from_id(9)bnx2i_alloc_iscsi_cid(9)bnx2i_free_iscsi_cid(9)bnx2i_setup_free_cid_que(9)bnx2i_release_free_cid_que(9)bnx2i_alloc_ep(9)bnx2i_free_ep(9)bnx2i_alloc_bdt(9)bnx2i_destroy_cmd_pool(9)bnx2i_setup_cmd_pool(9)bnx2i_setup_mp_bdt(9)bnx2i_free_mp_bdt(9)bnx2i_ep_destroy_list_add(9)bnx2i_ep_destroy_list_del(9)bnx2i_ep_ofld_list_add(9)bnx2i_ep_ofld_list_del(9)bnx2i_find_ep_in_ofld_list(9)bnx2i_find_ep_in_destroy_list(9)bnx2i_ep_active_list_add(9)bnx2i_ep_active_list_del(9)bnx2i_setup_host_queue_size(9)bnx2i_alloc_hba(9)bnx2i_free_hba(9)bnx2i_conn_free_login_resources(9)bnx2i_conn_alloc_login_resources(9)bnx2i_iscsi_prep_generic_pdu_bd(9)bnx2i_iscsi_send_generic_request(9)bnx2i_cpy_scsi_cdb(9)bnx2i_mtask_xmit(9)bnx2i_task_xmit(9)bnx2i_session_create(9)bnx2i_session_destroy(9)bnx2i_conn_create(9)bnx2i_conn_bind(9)bnx2i_conn_destroy(9)bnx2i_ep_get_param(9)bnx2i_host_get_param(9)bnx2i_conn_start(9)bnx2i_conn_get_stats(9)bnx2i_check_route(9)bnx2i_tear_down_conn(9)bnx2i_ep_connect(9)bnx2i_ep_poll(9)bnx2i_ep_tcp_conn_active(9)bnx2i_hw_ep_disconnect(9)bnx2i_ep_disconnect(9)bnx2i_nl_set_path(9)
like, that's the whole friend group right there π§π
and that's the page!! mwah π this little number shipped out of ./drivers/scsi/bnx2i in October 2026 β go read the source, it's giving lore πβ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms