Obtendo erro: “Não há espaço no dispositivo” para um nome de arquivo específico

Obtendo erro: “Não há espaço no dispositivo” para um nome de arquivo específico

Eu tenho um volume ext4 com muitos arquivos dentro de um diretório específico.

Sempre que tento criar um arquivo dentro dele com um nome específico, recebo o erro "Não resta espaço no dispositivo".

$ touch /data/lake/http:____images__br037__319854_366_tp.jpg
touch: cannot touch ‘/data/lake/http:____images__br037__319854_366_tp.jpg’: No space left on device

Se eu alterar pelo menos uma letra do nome do arquivo, funciona.

Aqui está o uso do disco e o uso do inode para esse volume:

# df -h /dev/xvdf
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvdf       985G  679G  256G  73% /data

# df -i /dev/xvdf
Filesystem       Inodes    IUsed    IFree IUse% Mounted on
/dev/xvdf      65536000 24751661 40784339   38% /data

Executei o fsck também para ter certeza de que não é um problema de corrupção de disco.

# e2fsck -y /dev/xvdf
e2fsck 1.42.9 (4-Feb-2014)
/dev/xvdf: clean, 24751661/65536000 files, 182020406/262144000 blocks

Alguém pode me ajudar como posso depurá-lo ainda mais.

Responder1

Parece haver um bug conhecido no recurso dir_index (que você deve poder desabilitar) que é causado pela colisão de hashes de nomes de arquivos:

http://blog.merovius.de/2013/10/20/ext4-mysterious-no-space-left-on.html

informação relacionada