В качестве распространенной причины повреждения файлов в документации часто указывается причина «NFS, которая неправильно реализует блокировку на уровне файлов» или что-то подобное, например, для SQLite:
Как повредить файл базы данных SQLite, пункт 2.1
2.1 Файловые системы со сломанными или отсутствующими реализациями блокировок
SQLite зависит от лежащей в основе файловой системы блокировки, как указано в документации. Но некоторые файловые системы содержат ошибки в своей логике блокировки, так что блокировки не всегда ведут себя так, как объявлено. Это особенно верно для сетевых файловых систем и NFS в частности. Если SQLite используется в файловой системе, где блокирующие примитивы содержат ошибки, и если два или более потоков или процессов пытаются получить доступ к одной и той же базе данных одновременно, это может привести к повреждению базы данных.
Об этом - или о чем-то подобном - часто упоминалось уже более десяти лет, обычно в смешанных средах Windows/Unix. Однако я никогда не обнаруживал никаких признаков того, какие сетевые файловые системы (или комбинации клиент / сервер) действительно находятся под угрозой.
Что я могу сказать своим клиентам?