diff options
Diffstat (limited to 'analysis/loop/sequence_diagram_loop_device_init_exit.txt')
-rw-r--r-- | analysis/loop/sequence_diagram_loop_device_init_exit.txt | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/analysis/loop/sequence_diagram_loop_device_init_exit.txt b/analysis/loop/sequence_diagram_loop_device_init_exit.txt new file mode 100644 index 0000000..1c04f40 --- /dev/null +++ b/analysis/loop/sequence_diagram_loop_device_init_exit.txt @@ -0,0 +1,187 @@ +title Loop device kernel module +participantgroup #lightyellow Kernel +participant Kernel +participantgroup #lightblue Loop device kernel module +participant Module +participant Loop control +participant Loop device +end +participant MISC +participant Blkdev +participant Blk-mq +participant Blk-settings +participant Blk-core +participant Genhd +end + +group Kernel module init +activate Kernel + +Kernel->Module:module_init +activate Module +deactivate Kernel +Module->Loop control:loop_init +deactivate Module +activate Loop control +Loop control->MISC:misc_register +deactivate Loop control +activate MISC +note right of MISC:create "loop-control"\nmisc device +Loop control<--MISC: +deactivate MISC +activate Loop control +Loop control->Blkdev:register_blkdev +deactivate Loop control +activate Blkdev +note right of Blkdev:create "loop"\nblock device +Loop control<--Blkdev: +activate Loop control +deactivate Blkdev +Loop control->Genhd:blk_register_region +deactivate Loop control +activate Genhd +note right of Genhd:register device\nnumbers +Loop control<--Genhd: +deactivate Genhd +activate Loop control + +loop pre-create loop devices +Loop control->Loop device:loop_add +deactivate Loop control +activate Loop device +Loop device->Blk-mq:blk_mq_alloc_tag_set +activate Blk-mq +deactivate Loop device +Loop device<--Blk-mq: +deactivate Blk-mq +activate Loop device +Loop device->Blk-mq:blk_mq_init_queue +activate Blk-mq +deactivate Loop device +Loop device<--Blk-mq: +deactivate Blk-mq +activate Loop device +Loop device->Blk-settings:blk_queue_max_hw_sectors +activate Blk-settings +deactivate Loop device +Loop device<--Blk-settings: +deactivate Blk-settings + +activate Loop device +Loop device->Blk-core:blk_queue_flag_set +activate Blk-core +deactivate Loop device +Loop device<--Blk-core: +deactivate Blk-core + +activate Loop device +Loop device->Genhd:alloc_disk +activate Genhd +deactivate Loop device +Loop device<--Genhd: +deactivate Genhd + +activate Loop device +Loop device->Genhd:add_disk +activate Genhd +deactivate Loop device +Loop device<--Genhd: +deactivate Genhd + +activate Loop device +Loop control<--Loop device: +deactivate Loop device +activate Loop control +end + +Module<--Loop control: +deactivate Loop control +activate Module +Kernel<--Module: +deactivate Module +activate Kernel +space +deactivate Kernel +end + +group Kernel module exit +activate Kernel +Kernel->Module:module_exit +deactivate Kernel +activate Module +Module->Loop control:loop_exit +deactivate Module +activate Loop control + + +loop delete loop devices +Loop control->Loop device:loop_remove +deactivate Loop control + +activate Loop device +Loop device->Genhd:del_gendisk +activate Genhd +deactivate Loop device +Loop device<--Genhd: +deactivate Genhd + +activate Loop device +Loop device->Blk-core:blk_cleanup_queue +activate Blk-core +deactivate Loop device +Loop device<--Blk-core: +deactivate Blk-core + +activate Loop device +Loop device->Blk-mq:blk_mq_free_tag_set +activate Blk-mq +deactivate Loop device +Loop device<--Blk-mq: +deactivate Blk-mq + +activate Loop device +Loop device->Genhd:put_disk +activate Genhd +deactivate Loop device +Loop device<--Genhd: +deactivate Genhd + +activate Loop device +Loop control<--Loop device: +deactivate Loop device +activate Loop control +end + +Loop control->Genhd:blk_unregister_region +deactivate Loop control +activate Genhd +note right of Genhd:delete device\nnumbers +Loop control<--Genhd: +deactivate Genhd +activate Loop control + +Loop control->Blkdev:unregister_blkdev +deactivate Loop control +activate Blkdev +note right of Blkdev:delete "loop"\nblock device +Loop control<--Blkdev: +deactivate Blkdev +activate Loop control + +Loop control->MISC:misc_deregister +deactivate Loop control +activate MISC +note right of MISC:delete "loop-control"\nmisc device +Loop control<--MISC: +deactivate MISC + +activate Loop control +Module<--Loop control: +deactivate Loop control + +activate Module +Kernel<--Module: +deactivate Module + +activate Kernel +end
\ No newline at end of file |