iscsiadm 与 iscsid 代码流程

iscsiadm:
main
  exec_disc_op
    do_target_discovery
      iscsi_sysfs_get_transport_by_name //获取transport
      do_software_sendtargets
                     discovery_sendtargets(idbm_bind_ifaces_to_nodes) 
                       iscsi_alloc_session //这里回去获取transport
                            iscsi_setup_portal //解析要发现的地址
                       iscsi_create_session
                               iscsi_create_leading_conn
                                 ipc->ctldev_open //创netlink socket and bind
                                     ep_connect //connect
                                     ep_poll //connect成功
                                     ipc->create_session(kcreate_session)//让内核创建session
                                     ipc->create_conn
                                     ipc->bind_conn
                               iscsi_login
                                 iscsi_login_begin
                                     iscsi_login_req
                               iscsi_session_set_neg_params 设置参数,要到内核
                               kstart_conn
                               iscsi_wait_for_login
                       process_recvd_pdu
                            iscsi_destroy_session discovery阶段的连接结束拉
               exec_disc_op_on_recs
                       idbm_for_each_rec delete_stale_rec
                            idbm_add_node
                       iscsi_login_portals
                              __iscsi_login_portals( iscsi_login_portal )
                                __iscsi_login_portal
                                       iscsid_req_by_rec
                                         iscsid_req_by_rec_async
                                           iscsid_request
                                                   iscsid_connect  这个发消息给iscsid
                                               iscsid_req_wait
iscsid:               
mgmt_ipc_session_login
  session_login_task
    __session_login_task
            iscsi_sysfs_get_transport_by_name  //获取transport
              read_transports
            __session_create
            __session_conn_create
            iscsi_conn_connect
              ep_connect
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值