Eu tenho um script automatizado que move arquivos de dados do computador em que eles são coletados para um servidor NFS central para acesso mais geral. Recentemente, vi cerca de 1% dos arquivos não serem movidos, com mv relatando um erro sobre o arquivo já existente:
mv: cannot create regular file '/mnt/data/2015/20150410_004130.dat': File exists
A coisa é que até imediatamente antes, o arquivo não existe , e depois que o mv tenta criá-lo, ele existe, mas com tamanho 0, permissões 0000 e uma data no Década de 1970 (a data exata parece aumentar um pouco a cada vez que isso acontece).
Eu atualizei meu script para executar mv
usando strace
, e os casos que falham são exatamente iguais aos que têm êxito até que ocorra a falha real:
Estou bastante confiante de que nada mais deveria estar tentando criar esse arquivo, embora haja outro script que esteja processando arquivos de dados (na verdade, movendo-os para outro servidor) assim que estiverem concluídos.
Esse comportamento parece ter sido iniciado na mesma época em que atualizei do Ubuntu 10.04 para o Ubuntu 14.04 no servidor NFS (a configuração do cliente não é alterada).