Мне любопытно, как и где Linux (и любая операционная система, использующая Inode для своей файловой системы) отслеживает свободные inode, которые можно использовать? Когда создается новый файл, какой индексный дескриптор назначает ему операционная система? Все усложняется, поскольку файлы постоянно создаются и удаляются. Как вообще ОС управляет тем, какие иноды свободны, а какие используются?
Я бы предположил, что индексные дескрипторы структурированы как список свободных мест, похожий на распределитель памяти. Но при просмотре всех описаний структуры инода я не нашел поля указателя на «следующий доступный инод». Я думаю, что это какой-то важный вопрос, но, что любопытно, я не могу найти ни одной литературы с определенным ответом.