특정 장치를 어떻게 동기화하나요? [복사]

특정 장치를 어떻게 동기화하나요? [복사]

syncLinux가 특정 장치에 액세스할 수 있는 방법이 있습니까 ?

이는 관련 없는 RAID 어레이에서 비디오 처리 작업의 대기열 쓰기가 완료될 때까지 기다리지 않고 USB 썸 드라이브에 쓰기가 수행되었는지 확인하는 데 사용됩니다.

이를 달성할 수 있는 시스템 호출/인수 조합이 있다면 아마도 간단한 C 래퍼를 작성할 수 있을 것입니다. 이 작업을 수행할 수 있는 Ubuntu 패키지를 아는 사람이 있다면 좋을 것입니다.

답변1

당신은 할 수 없습니다동기화(2)전혀 의미가 없는 장치입니다. 동기화 중입니다.파일 시스템(설치된 장치가 아님) syncfs또는 전체페이지 캐시그리고 sync.

이것sync(2) 시스템 호출라고동기화(1)주문하다.

(나는 를 수행하는 일반적인 명령을 모른다 syncfs)

그러나 Linux 관련 명령을 사용하여 파일 시스템의 버퍼를 플러시할 수 있습니다.파일 시스템 동기화(2)시스템 호출. 따라서 이를 달성하려면 간단한 C 래퍼를 작성하세요.

개봉을 위해파일 설명자,당신이 사용할 수있는동기화(2)또는fdatasync

파일 시스템을 마운트 해제하면 일반적으로 새로 고쳐집니다.

답변2

필요하지 않은 직접 I/O 사용을 고려하십시오 sync. 일부 파일 시스템에서는 마운트 옵션()을 통해 강제로 사용할 수 있습니다 dio.

관련 정보