Make .unrecoverable a persistent one-way recovery quarantine

This commit is contained in:
Andrea Mazzoleni 2026-08-29 21:25:49 +02:00
parent 472c85a4fb
commit b9d0dcd173
46 changed files with 646 additions and 367 deletions

View file

@ -1762,13 +1762,15 @@ Name{number}
`fix`가 손상된 파일을 완전히 복구할 수 없는 경우, 이름에 `.unrecoverable` 확장자를
추가하여 격리합니다.
반대로 누락된 파일을 복구하는 중이고 해당하는 `.unrecoverable` 파일이 이미 존재하는
경우, SnapRAID는 이를 이전의 불완전한 복구 결과로 간주하고 해당 파일에 직접 쓰기를
재개합니다.
이후 `fix`가 복구를 재시도하는 경우, 일반 파일 이름으로 새 파일을 생성하고 복구가
진행되는 동안 이전 `.unrecoverable` 파일을 유지합니다. 재시도에 실패하면 새 실패
결과가 이전 격리 파일을 대체합니다. 재시도가 완전히 성공하면 SnapRAID는 더 이상
필요 없는 `.unrecoverable` 파일을 삭제합니다. 격리 파일은 일반 파일 이름으로 다시
승격되지 않습니다.
SnapRAID는 오직 파일 이름으로만 격리 파일을 식별하므로, 우연히 `.unrecoverable` 접미사를
사용하는 기존 파일의 기본 이름이 복구 중인 파일과 일치하면 잘리거나 덮어쓰이거나 대체될
수 있습니다.
사용하는 기존 파일의 기본 이름이 복구 중인 파일과 일치하면 잘리거나, 덮어쓰이거나,
대체되거나, 삭제될 수 있습니다.
일반 파일에는 `.unrecoverable` 확장자를 사용하지 마시고, 해당 파일이 패리티 데이터셋에서
추적되지 않도록 구성에 `exclude *.unrecoverable`이 포함되어 있는지 확인하십시오.