Eu meio que tenho um problema estranho em um dos discos rígidos de backup dos nossos clientes: o disco rígido está formatado em FAT32 e ontem à noite nossos trabalhos de backup lançaram um erro em um subdiretório, alegando que não era possível copiar os arquivos para copiar.
Eu verifiquei o tamanho do disco primeiro, claro, mas há muito espaço. O erro dado foi 0x80070052, se eu colocar isso em um motor de busca eu recebo resultados como este: link
Mas existem apenas 8 arquivos / diretórios no diretório raiz dessa partição. Então eu continuei e decidi testar algumas coisas eu mesmo. Criando um único arquivo (chamado 'test.txt' por exemplo) funcionou. Mas criar um arquivo com um dos nomes de arquivos que o backupjob falhou não funcionou, em vez disso, recebi o mesmo erro acima. Eu testei um pouco e descobri que posso criar um arquivo com 10 caracteres nesse subdiretório, um caractere a mais e ele falha.
Depois de detectar isso, criei um diretório nesse subdiretório (chamado 'test') e movi alguns arquivos do subdiretório para o novo diretório, depois que terminei, tentei criar um arquivo com 11 caracteres (que não trabalhe antes) e funcionou.
Agora, obviamente a partir da observação, parece haver algum tipo de hardlimit sobre quantos caracteres podem ser usados para todos os nomes de arquivos dentro de um único diretório para FAT32, mas não consegui encontrar nada sobre esse limite ou se outros sistemas de arquivos (especialmente NTFS, que seria a alternativa neste caso, eu acho) tem limites semelhantes.
Se alguém pudesse me fornecer informações sobre o comportamento observado, seria ótimo!
editar
um colega me disse para colocar a pasta exata em outra unidade FAT32, uma vez que ele já teve problemas com o controlador USB de um determinado fabricante. Eu tentei dois pen drives de diferentes fabricantes, ambos formatados em FAT32, ambos mostraram exatamente o mesmo comportamento descrito acima.
Para você ter uma idéia da quantidade de arquivos envolvidos: Existem aproximadamente 10200 arquivos, cada um com um nome de arquivo entre 80 e 110 caracteres, excluindo o caminho do arquivo (que não parece ser de nenhuma importância), então há cerca de um milhão de personagens envolvidos.