Bcachefs는 스냅샷 삭제 성능을 개선하기 위한 일련의 패치를 구현하고 있으며, 이는 중요한 문제로 지적되었습니다. 이 최적화는 삭제 과정에서 스캔을 최소화하기 위해 extents, dirents, xattrs의 존재를 활용합니다. 이전에는 파일 시스템 검사(fsck)만이 이 방법을 사용하여 경고를 발행하고 메모리 내 데이터 구조를 수정했습니다. 새로운 접근 방식은 문제가 감지될 때 디스크 수리를 포함하는 적절한 오류 처리 메커니즘(fsck_err())을 도입합니다.
스냅샷 삭제 시 안전성을 높이기 위해 새로운 디스크 포맷 버전이 도입되었습니다. 이 버전은 명시적으로 활성화해야 하는 호환되지 않는 업데이트를 특징으로 하며, 스냅샷 키를 완전히 삭제하는 대신 삭제된 것으로 표시할 수 있게 합니다. 이러한 구분은 fsck가 삭제된 스냅샷의 키와 추가 조사가 필요한 누락된 스냅샷의 키를 구별할 수 있게 합니다. 또한, 스냅샷 삭제 상태는 이제 sysfs에서 접근 가능하여 btree와 그 위치에 대한 정보를 제공하며, 향후 스냅샷 삭제 진행 상황을 나타내는 지표로 발전할 가능성이 있습니다.
이러한 변화는 Bcachefs의 자가 치유 및 자동 수리 기능을 향상시키기 위한 지속적인 노력의 일환으로, 궁극적으로 더 강력하고 효율적인 파일 시스템을 목표로 하고 있습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.