Файловые системы FAT (и аналогично VFAT) на самом деле не хранят номера инодов на диске.Вместо этого, Linux изобретает номера inode на лету для файлов, которые они видят.Эти сгенерированные номера инодов хранятся в кэше, чтобы попытаться сохранить их согласованность, но этот кэш имеет фиксированный размер;после заполнения старые записи отбрасываются.
Предположительно, достаточно смонтировать вторую файловую систему, чтобы кэш номеров инодов в файловой системе VFAT забыл о ваших файлах, в результате чего были выделены новые номера инодов.и описание проблемы, с которой вы столкнулись.
Дополнительная информация:
- Обсуждение об ошибке, связанной с этой проблемой, в списке рассылки findutils
- Исходники ядра Linux: fs / fat / inode.c (в частности, вызов
iunique
в fat_build_inode
, который выполняет выделение номера инода).