혹시 현재 ext4의 jbd2 모듈에 대해서 잘 아시는분 계신가요..?

gkdldyd12의 이미지


안녕하세요. 현재 커널 소스를 보고있는 학생입니다.

다름이 아니라, 현재 jbd2 에서 checkpoint를 수행하는 함수가 jbd2_log_do_checkpoint 인 것으로 알고 있는데요. 각종 벤치마크를 돌리면서 jbd_debug 나 ftrace 같은 프로그램을

돌려도 jbd2_log_do_checkpoint 부분이 수행이 되지가 않네요.. 이 함수는 1. 저널영역의 공간이 부족할 때, 2. 저널영역이 더이상 필요 없을때(journal_t structure가 release)

3. 각종 강제 flush 명령어가 발생했을 때 수행되는데, 현재 모두 수행이 안되는것 같습니다.. 1번에 대해서는 벤치마크로 충분히 큰 I/O를 했다고 생각하고, 2번은 재부팅 전후 로그를

참고했고, 3번은 sysbench 같은 경우에 fsync 나 fdatasync가 있어서 해당 jbd2_log_do_checkpoint 함수가 수행 되어져야 한다고 생각하는데... 수행이 안되서 더이상 진행이 안되네요..

혹시 애초에 jbd2_log_do_checkpoint 함수가 아니거나, 혹은 다르게 변경된 점이 있는데 제가 모르는 것이 있는 건가요..

제 커널 버전은 3.12.44 버전 입니다.