Назад | Перейти на главную страницу

Ошибка: «На устройстве не осталось места» для определенного имени файла.

У меня есть том ext4 с большим количеством файлов внутри определенного каталога.

Всякий раз, когда я пытаюсь создать внутри него файл с определенным именем, я получаю сообщение об ошибке «На устройстве не осталось места».

$ 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

Если я изменю хотя бы одну букву имени файла, все заработает.

Вот использование диска и использование inode для этого тома:

# 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

Я также запустил fsck, чтобы убедиться, что это не проблема повреждения диска.

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

Может ли кто-нибудь помочь мне, как я могу отладить его дальше.

Кажется, есть известная ошибка в функции dir_index (которую вы должны иметь возможность отключить), которая вызвана столкновением хешей имен файлов:

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