더티 페이지
write()는 먼저 페이지 캐시에 데이터를 놓고 해당 페이지를 dirty 상태로 표시한다.
ext4는 블록 할당 정보를 메타데이터로 관리하고, 저널 트랜잭션으로 크래시 뒤 복구 가능한 순서를 남긴다.
write()는 먼저 페이지 캐시에 데이터를 놓고 해당 페이지를 dirty 상태로 표시한다.
블록 비트맵과 블록 그룹 정보를 보고 연속된 영역을 찾으면 extent로 묶기 쉽다.
inode에는 파일 크기, 시간, extent tree 루트처럼 파일 위치를 설명하는 메타데이터가 들어간다.
메타데이터 변경을 저널에 먼저 기록하고 커밋 표시가 남으면 재부팅 뒤 replay할 수 있다.
나중에 저널의 변경분이 실제 inode 테이블과 비트맵 위치로 옮겨져 공간이 정리된다.
기본 모드로, 데이터 블록이 디스크에 기록된 뒤 관련 메타데이터 커밋이 완료되도록 순서를 잡는다.
메타데이터 일관성은 지키지만 오래된 데이터가 새 파일 위치에 보일 수 있어 복구 의미가 약해진다.
데이터까지 저널에 넣어 강한 일관성을 얻지만, 같은 데이터를 두 번 쓰므로 처리량 비용이 크다.