리눅스 커널 파일 시스템 [2] 코드 분석 - generic_file_read_iter()
리눅스 커널 파일 시스템 Read [1] 리눅스 커널 파일 시스템 Read [2] 리눅스 커널 파일 시스템 Read [3] 리눅스 커널 파일 시스템 Read [4] Page cache와 관련된 코드를 함께 먼저 보기 위해 generic_file_read_iter() 부터 분석한다. 이전 게시물 mm/filemap.c generic_file_read_iter() 정의 먼저 이 함수 위 주석을 보자. /** * generic_file_read_iter - generic filesystem read routine * @iocb: kernel I/O control block * @iter: destination for the data read * * This is the "read_iter()" routine for all filesystems * that can use the page cache directly . * * The IOCB_NOWAIT flag in iocb->ki_flags indicates that -EAGAIN shall * be returned when no data can be read without waiting for I/O requests * to complete ; it doesn't prevent readahead. --> IOCB_NOWAIT flag가 있으면 prefetch를 막지 않는다고 함. --> "I/O requests가 complete 되는 것을 기다리지 않고" -EAGAIN이 리턴된다는 것임. --> Prefetch (readahead) 던져 놓고 리턴될거야~ 라는 것인 듯. * * The IOCB_NOIO flag in iocb->ki_flags ...