sync 매뉴얼 페이지를 기반으로 sync를 호출 한 후 디스크가 캐시를 플러시한다고 보장 할 수는 없습니다. 표준 사양 (예 : POSIX. 1-2001), sync()는 쓰기를 예약하지만 실제 쓰기가 완료되기 전에 되돌아 갈 수 있습니다. 그러나 버전 1.3.20 Linux가 실제로 대기합니다 (여전히 데이터 무결성을 보장하지 않습니다. 최신 디스크는 큰 캐시를 가짐). "sync/fsync/syncfs 이후의 데이터 무결성을 휴대 기기에 알리는 방법
그리고 fsync 매뉴얼에는 이에 대한 언급이 없습니다.
동기화를 호출 한 후 특히 디스크 (예 : 휴대용 장치)에 대한 모든 쓰기가 완료되었는지 확인하는 방법이 있습니까? sync/fsync를 호출 한 후 데이터 및 메타 데이터 정보가 디스크에 완전히 기록되지 않은 경우가 발생했습니다. windows/Linux에서 "안전하게 장치 제거"가 어떻게 모든 데이터가 장치 자체에 의해 완전히 작성되었는지 알고 있습니다.
이 일을 "안전 장치를 제거"어떻게? 디스크 하드웨어 캐시가 완료되었음을 알 수 있습니다 (따라서 장치 전원을 차단하는 것이 안전합니다). – dragon135