SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
tgtd illustration
                          based on https://github.com/fujita/tgt




Tuesday, November 8, 11                                            1
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,
                                                   common

Tuesday, November 8, 11                                                                      2
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_mgmt




Tuesday, November 8, 11                                                         3
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                Scsi

Tuesday, November 8, 11                                                                    4
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.c


Tuesday, November 8, 11                                                         5
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 page



Tuesday, November 8, 11                                         6
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.c

Tuesday, November 8, 11                                                       7
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_exit

Tuesday, November 8, 11                                                   8
That's All.
                             Thanks!




Tuesday, November 8, 11                 9

Weitere ähnliche Inhalte

Ähnlich wie Tgtd illustration

[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory AnalysisMoabi.com
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleAlison Chaiken
 
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack FirmwareSimen Li
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory AnalysisMoabi.com
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementationRajan Kumar
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory AnalysisMoabi.com
 
Linux-without-a-bootloader
Linux-without-a-bootloaderLinux-without-a-bootloader
Linux-without-a-bootloaderNishanth Menon
 
Code Red Security
Code Red SecurityCode Red Security
Code Red SecurityAmr Ali
 
Kernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architectureKernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architectureAnne Nicolas
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit AutomationMoabi.com
 
Gluster as Block Store in Containers
Gluster as Block Store in ContainersGluster as Block Store in Containers
Gluster as Block Store in ContainersGluster.org
 
OpenDNSSEC RIPE58
OpenDNSSEC RIPE58OpenDNSSEC RIPE58
OpenDNSSEC RIPE58pawal
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
Static analysis of C++ source code
Static analysis of C++ source codeStatic analysis of C++ source code
Static analysis of C++ source codePVS-Studio
 
Static analysis of C++ source code
Static analysis of C++ source codeStatic analysis of C++ source code
Static analysis of C++ source codeAndrey Karpov
 

Ähnlich wie Tgtd illustration (20)

[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
 
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
Interrupts
InterruptsInterrupts
Interrupts
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis
 
Linux-without-a-bootloader
Linux-without-a-bootloaderLinux-without-a-bootloader
Linux-without-a-bootloader
 
Code Red Security
Code Red SecurityCode Red Security
Code Red Security
 
Kernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architectureKernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architecture
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation
 
Gluster as Block Store in Containers
Gluster as Block Store in ContainersGluster as Block Store in Containers
Gluster as Block Store in Containers
 
Tierney bq207
Tierney bq207Tierney bq207
Tierney bq207
 
OpenDNSSEC RIPE58
OpenDNSSEC RIPE58OpenDNSSEC RIPE58
OpenDNSSEC RIPE58
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
Static analysis of C++ source code
Static analysis of C++ source codeStatic analysis of C++ source code
Static analysis of C++ source code
 
Static analysis of C++ source code
Static analysis of C++ source codeStatic analysis of C++ source code
Static analysis of C++ source code
 

Mehr von Xu Wang

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Xu Wang
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxXu Wang
 
Rethink of PaaS
Rethink of PaaSRethink of PaaS
Rethink of PaaSXu Wang
 
Cassandra Technical and history overview
Cassandra Technical and history overviewCassandra Technical and history overview
Cassandra Technical and history overviewXu Wang
 
ZeroMQ简介
ZeroMQ简介ZeroMQ简介
ZeroMQ简介Xu Wang
 
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)Xu Wang
 
Metro Beijing
Metro BeijingMetro Beijing
Metro BeijingXu Wang
 
Cloud Computing Seminar with BUPT WTI
Cloud Computing Seminar with BUPT WTICloud Computing Seminar with BUPT WTI
Cloud Computing Seminar with BUPT WTIXu Wang
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 

Mehr von Xu Wang (9)

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptx
 
Rethink of PaaS
Rethink of PaaSRethink of PaaS
Rethink of PaaS
 
Cassandra Technical and history overview
Cassandra Technical and history overviewCassandra Technical and history overview
Cassandra Technical and history overview
 
ZeroMQ简介
ZeroMQ简介ZeroMQ简介
ZeroMQ简介
 
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
 
Metro Beijing
Metro BeijingMetro Beijing
Metro Beijing
 
Cloud Computing Seminar with BUPT WTI
Cloud Computing Seminar with BUPT WTICloud Computing Seminar with BUPT WTI
Cloud Computing Seminar with BUPT WTI
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 

Kürzlich hochgeladen

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Kürzlich hochgeladen (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Tgtd illustration

  • 1. tgtd illustration based on https://github.com/fujita/tgt Tuesday, 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, common Tuesday, 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_mgmt Tuesday, 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 Scsi Tuesday, 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.c Tuesday, 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 page Tuesday, 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.c Tuesday, 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_exit Tuesday, November 8, 11 8
  • 9. That's All. Thanks! Tuesday, November 8, 11 9