모든 파일 시스템에 nfs가 마운트 된 CFS에서 실행되는 모듈을 C++로 작성했습니다.NFS 공유 텍스트 파일에 대한 동시 쓰기 방지
NFS를 통해 모든 컴퓨터와 공유되는 구성 파일이 있습니다. 모두 해당 파일을 읽고 쓸 수 있습니다. 동시 액세스로 인한 데이터 손상이 없는지 어떻게 확인합니까?
NFS에 자체 잠금 프로토콜이 있다는 것을 알고 있지만 믿을만하지 않습니다. - concurrent nfs access. 나는 또한 iNotify가 nfs가 장착 된 드라이브 - inotifiy example에서 제대로 작동하지 않는다는 것을 알고있다. stat은 쓰기/읽기 전에 파일에 액세스하고 있는지 확인하는 데 유용 할 것입니다.
동시 액세스를 피하기 위해 C++에서 간단한 잠금 메커니즘을 어떻게 구현합니까?
... 같은 파일에 동시에 쓰려고하지 않으므로. 파일의 고유 복사본에 쓰고 이름을 바꾸어 이전 파일로 피벗합니다. – Petesh
... 다른 말로하면 파일이 로컬 일 경우 어쨌든 수행해야 할 작업과 정확히 동일합니다. – Celada
이것은 파일 (fd 포함)이 IPC (유닉스 도메인 소켓)에 의해 변경된 것을 추적하고 있기 때문에 나에게 옵션이 아닙니다. 변경 사항은 추가 처리를 위해 모듈로 다시 전송됩니다. – sillysheep