Read(ext4)
Retired DISLab
(버전 사이의 차이)
(한 사용자의 중간의 편집 5개 숨겨짐) | |||
23번째 줄: | 23번째 줄: | ||
"mpage_bio_submit(READ, bio)"-->"submit_bio(rw, bio)" | "mpage_bio_submit(READ, bio)"-->"submit_bio(rw, bio)" | ||
+ | note right:submit a bio to the block device layer | ||
+ | |||
-->"generic_make_request(bio)" | -->"generic_make_request(bio)" | ||
− | + | note right: hand a buffer to its device driver | |
− | note right: to | + | |
"generic_make_request(bio)" --> if "current process has bio"then | "generic_make_request(bio)" --> if "current process has bio"then | ||
-->"bio_list_add(current->bio_list, bio)" | -->"bio_list_add(current->bio_list, bio)" | ||
+ | |||
+ | "generic_make_request(bio)" --> if "bio exist" then | ||
+ | -->"bdev_get_queue(bio->bi_bdev)" | ||
+ | --> if "bio exist" then | ||
+ | -->"make_request_fn(q, bio)" | ||
+ | --> if "bio exist" then | ||
+ | -->"bio_list_pop(current->bio_list)" | ||
</uml> | </uml> |
2014년 5월 16일 (금) 10:17 현재 판