Tgtd illustration

  • 3,641 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,641
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
39
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. tgtd illustration based on https://github.com/fujita/tgtTuesday, November 8, 11 1
  • 2. General Arch epoll iSCSI, iSER, bst: aio, rdwr, FCoE, etc. null, sg, ssc low level backing initiator drivers con stores n R &W target mmc, osd, Core sbc, scc, smc, ssc lu SC a sk SI mt spc & tgtadm mgmt devices utils, commonTuesday, November 8, 11 2
  • 3. Mgmt Routine If req Len> tgtadm_req tgt_mgmt tgtadm send commands here mtask_handler HDR_RECV sys_mgmt PDU_RECV target_mgmt IPC: mgmt_task portal_mgmt device_mgmt mtask_handler RSP_SEND account_mgmt connection_mgmtTuesday, November 8, 11 3
  • 4. State Transition of Conn Security Security Security auth Done Free Security login Security Login Login full full Only for iSER Init Start Full Kernel Ready Network Error Proto Error Logout Exit Close ScsiTuesday, November 8, 11 4
  • 5. Cmd rx in iscsid 1 Immediate: OpXX iscsi_task_queue iscsi_task_ececute Other: OP_DATA_OUT expected SNs: iscsi_task_execute Others: iscsi_task_ececute Add to pending list NOOP_OUT/LOGOUT: Set EPOLLIN|EPOLLOUT queue: SCSI_CMD: target_cmd_queue ... target.c iscsi_scsi_cmd_execute all: SCSI_TMFUNC: Set EPOLLIN|EPOLLOUT iscsi_tm_execute target_mgmt_request ... target.cTuesday, November 8, 11 5
  • 6. Cmd rx in iscsid 2 OpXX OP_DATA_OUT iscsi_data_out_rx_done Do nothing FINAL && not pending: iscsi_scsi_cmd_execute ... as in prev pageTuesday, November 8, 11 6
  • 7. SCSI Cmd Processing In target.c, scsi.c, & devs cmd_perform == scsi_cmd_perfor scsi_cmd_queued Processed later dev_type_template.ops[op]. cmd_perfor sbc_rw, sbc_sync_cache BS Others processed in sbc.c or spc.cTuesday, November 8, 11 7
  • 8. Backing Storage bs_init bs_thread_info follows lu Create LU bs_open pathname, fd, size Dev request bs_cmd_submit(cmd) Destroy LU bs_close, bs_exitTuesday, November 8, 11 8
  • 9. Thats All. Thanks!Tuesday, November 8, 11 9