mv to nfs "не может создать обычный файл … файл существует", но создает пустой файл

У меня есть автоматический сценарий, который перемещает файлы данных с компьютера, который они собирают, на центральный сервер NFS для более общего доступа. Я недавно видел около 1% файлов, которые не могут быть перемещены, при этом mv сообщает об ошибке в файле, который уже существует:

mv: cannot create regular file `/mnt/data/2015/20150410_004130.dat': File exists 

Дело в том, что до самого момента, файл не существует, и после того, как mv пытается его создать, он существует, но с размером 0, разрешениями 0000 и датой в 1970-х годах (точная дата, по-видимому, немного увеличивается каждый время это случается).

Я обновил свой сценарий, чтобы запустить mv с помощью strace , а случаи, которые выходят из строя, выглядят точно так же, как те, которые преуспевают, пока не произойдет фактический сбой:

  1. попробуйте переименовать напрямую. Не удалось (неверная ссылка для нескольких устройств)
  2. отменить цель. Fails (Нет такого файла или каталога)
  3. файл с открытым исходным кодом для чтения
  4. открытый целевой файл с опциями O_WRONLY | O_CREAT | O_EXCL, perms 0600. Обычно работает, иногда не получается, заявляя, что «Файл существует»,

Я уверен, что ничто другое не должно пытаться создать этот файл, хотя есть еще один скрипт, который обрабатывает файлы данных (фактически перемещая их на другой сервер) после их завершения.

Такое поведение, похоже, началось примерно в то же время, когда я обновил Ubuntu 10.04 до Ubuntu 14.04 на сервере NFS (конфигурация клиента не изменилась).

Linux и Unix - лучшая ОС в мире.