Skip to content

Filesystem

  • Published on
    df는 여유 공간을 보여 주는데 파일 하나를 만들지 못하고 ENOSPC가 납니다. 원인은 거의 항상 다섯 가지 중 하나입니다. inode 고갈, 삭제됐지만 프로세스가 열고 있는 파일, ext4의 예약 블록, 다른 파일시스템이 겹쳐 마운트되어 보이지 않는 파일, 그리고 컨테이너의 오버레이 상한입니다. 각각을 df -i, lsof +L1, tune2fs, 바인드 마운트로 어떻게 확정하고 무엇으로 해결하는지, 그리고 inotify가 같은 에러 문구를 내는 함정까지 정리합니다.
  • Published on
    2025년 9월 29일 리누스 토발즈는 커밋 하나로 커널에서 bcachefs 코드 117,483줄을 지웠고, bcachefs는 ZFS처럼 DKMS 모듈로 배포되는 파일시스템이 됐습니다. 드라마는 그것으로 끝났고, 2026년의 진짜 뉴스는 따로 있습니다 — bcachefs의 이레이저 코딩(RAID5/6에 해당하는 기능)이 experimental 딱지를 뗐습니다. 그런데 이 사실을 옮긴 문장 하나가 인터넷에 도는데, 날짜도 버전도 대상도 틀렸습니다. 실제로는 v1.37.0(2026년 3월 15일) 릴리스 노트가 선언했고, 6월 18일 커밋은 석 달 묵은 옵션 설명 문자열을 뒤늦게 고친 잡일이며(커밋 메시지부터 "그런 지 좀 됐다"고 말합니다), 파일시스템 자체는 오늘도 자기 Kconfig에 EXPERIMENTAL이라고 적어 두고 있습니다. 이 글은 커널 제거의 사실관계, DKMS 전환으로 뒤집힌 상하 관계, bcachefs 이레이저 코딩의 실제 설계(버킷 단위 백그라운드 인코딩으로 write hole을 피하는 방식), 그리고 "experimental을 뗐다"는 선언에 딸려 온 각주들 — 특히 정작 아직 어떤 릴리스에도 들어가지 않은 미완의 작업 — 을 1차 소스로 확인해 정리합니다.