Read(User - ext4)

(버전 사이의 차이)
이동: 둘러보기, 찾기
45번째 줄: 45번째 줄:
 
-->"mpage_bio_submit(READ, bio)"
 
-->"mpage_bio_submit(READ, bio)"
 
"mpage_bio_submit(READ, bio)"-->"mpage_end_io"
 
"mpage_bio_submit(READ, bio)"-->"mpage_end_io"
 +
 +
note left
 +
I/O completion handler for multipage BIOs.
 +
end note
 +
 +
"mpage_end_io" --> "end_page_writeback(page)"
 +
 +
note left
 +
end writeback against a page
 +
end note
 +
 +
"mpage_end_io" --> "bio_put(bio)"
 +
 +
note right:release a reference to a bio
 +
 
"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
  
 
"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:39 판

개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기