Я пишу модуль на C++, который будет работать на кластере машин, каждая из которых имеет смонтированное файловое хранилище nfs.
У меня есть файл конфигурации, общий для всех машин через NFS; и все могут читать/писать этот файл. Как убедиться, что данные не повреждены из-за одновременного доступа?
Я знаю, что у NFS есть собственный протокол для блокировки, но я вижу его ненадежным - одновременный доступ к nfs . Я также вижу, что iNotify плохо работает на дисках, смонтированных через nfs — inotify пример. Я не уверен, что stat будет полезен для проверки доступа к файлу перед записью / чтение.
Как реализовать простой механизм блокировки в С++, чтобы избежать одновременного доступа?