리눅스커널 블록디바이스 I/O관련해서 질문있습니다.

익명 사용자의 이미지

VFS층에서는 block을 데이터의 단위로 보고

밑단의 블록 디바이스 드라이버는 섹터를 데이터의 단위로 보고있으므로

중간 layer에서 block과 sector를 맵핑 해줘야 할것 같습니다.

그 역할을 하는 layer가 generic block layer라고 생각하는데 구체적으로 어떤식으로 맵핑이

이루어지는지 모르겠네요.

generic block layer의 bio structure field를 보면

sector_t bi_sector // i/o요청이 발생하는 첫 sector

가 있는데 이 bi_sector는 어떻게 구하는거죠??