ext4 inode 구조의 32비트 블록 주소

ext4 inode 구조의 32비트 블록 주소

Linux 커널 소스 코드에서, 디스크 inode 구조의 블록 번호는 32비트입니다. 왜? Linux는 확실히 2^32보다 큰 블록을 지원할 수 있습니다.

답변1

배열 설명inode.i_block Ext4에서는 다릅니다.이전 디스크 파일 시스템 형식과 비교. Ext4에서 inode가 이 배열 EXT4_EXTENT_FL에 컬렉션을 갖고 있는 경우 i_flags배열은 범위 트리의 루트와 최대 4개의 범위 설명자( struct ext4_extent또는 struct ext4_extent_idx)를 저장합니다. 범위 설명자에서 48비트가 블록 주소로 사용된다는 것을 알 수 있습니다. Ext3와 같은 이전 디스크 형식의 경우 최대 블록 수는 32비트에 맞습니다.

바라보다Ext4 데이터 구조 및 알고리즘, 부분4.2 inode.i_block의 내용.

관련 정보