Read(User - ext4)

(버전 사이의 차이)
이동: 둘러보기, 찾기
1번째 줄: 1번째 줄:
 
<uml>
 
<uml>
  
(*) --> "read"
+
(*) --> "read()"
"read" --> "SYSCALL_DEFINE3"
+
"read()" --> "SYSCALL_DEFINE3()"
"SYSCALL_DEFINE3" -->  "vfs_read"
+
"SYSCALL_DEFINE3()" -->  "vfs_read()"
"vfs_read" -->  "do_sync_read"
+
"vfs_read()" -->  "do_sync_read()"
"do_sync_read" -->"generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov,unsigned long nr_segs, loff_t pos)"
+
"do_sync_read()" -->"generic_file_aio_read"
 +
 
 +
"generic_file_aio_read" -->"generic_segment_checks"
 +
"generic_segment_checks" --> if "error" then
 +
-->[error] (*)
 +
endif
 +
 
 +
"generic_segment_checks" --> if "filp->f_flag 검사" then
 +
--> [직접전송] "i_size_read"
 +
--> filemap_write_and_wait_range
 +
--> generic_file_direct_IO
 +
else
 +
--> [직접전송 X] "do_generic_file_read"
 +
endif
 +
 
 +
"filemap_write_and_wait_range" -> "filemap_fdatawrite_range"
 +
"filemap_fdatawrite_range" -> "do_writepages"
 +
"do_writepages" -> "generic_writepage"
 +
"generic_writepage" ->"write_cache_pages"
 +
"write_cache_pages" -> "writepage"
 +
 
  
  
 
</uml>
 
</uml>

2014년 5월 16일 (금) 05:17 판

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