buffer_head 에 대한 질문문

puresupe의 이미지

buffer_head 는 커널이 disk 에서 한번에 메모리로 읽어들이는 단위로 알고있습니다.

커널의 이해 책을 보면. 이 buffer_head가 4096의 크기라고 되어있습니다.
(근데..include/linux/fs.h 에는 BLOCK_SIZE 매크로가 1024로 되어 있는데 뭐가 맞는건진 모르겠습니다)

어쨌든.

page size 와 logical block size 가 같을때 (즉 위와같이 4096)

bh_offset(bh) 의 값이 항상 0 인가요??

<include/linux/buffer_head.h>
#define bh_offset(bh)       ((unsigned long)(bh)->b_data & ~PAGE_MASK)