Read(User - ext4)
(버전 사이의 차이)
34번째 줄: | 34번째 줄: | ||
-->"ext4_readpage(struct file *file, struct page *page)" | -->"ext4_readpage(struct file *file, struct page *page)" | ||
"page_cache_release(page)"-->"file_accessed(filp)" | "page_cache_release(page)"-->"file_accessed(filp)" | ||
+ | |||
+ | "ext4_readpage(struct file *file, struct page *page)"-->"mpage_readpage(page, ext4_get_block)" | ||
+ | "mpage_readpage(page, ext4_get_block)" -> "ext4_get_block" | ||
+ | "mpage_readpage(page, ext4_get_block)" --> "do_mpage_readpage" | ||
+ | "do_mpage_readpage" --> if "bio exit" then | ||
+ | -->"mpage_bio_submit(READ, bio)" | ||
+ | "mpage_bio_submit(READ, bio)"-->"mpage_end_io" | ||
+ | "mpage_bio_submit(READ, bio)"-->"submit_bio(rw, bio)" | ||
+ | -->"generic_make_request(bio)" | ||
+ | |||
+ | "generic_make_request(bio)" --> if "current process has bio"then | ||
+ | -->"bio_list_add(current->bio_list, bio)" | ||
+ | |||
+ | |||
</uml> | </uml> |
2014년 5월 16일 (금) 05:47 판