Мы сталкиваемся с пределом inode на наш файловый сервер, и я делаю эксперимент для сокращения количества inodes. Как я могу узнать, сколько inodes каталог использует? Я считал, что ядро Linux не создает inode для гибких ссылок менее чем 60 байтов, но вместо этого хранит ту символьную ссылку в каталоге inode самом. Таким образом я пытаюсь сократить длину символьных ссылок на менее чем 60 байтов и затем видеть, уменьшает ли это количество inode.
Править: (не может поместить новые строки в комментарии...), @caliban, Что я предлагаю, создает 1 символьную ссылку на родительский каталог и затем имеет всю другую точку символьных ссылок через тот родительский dir, например, исходные ссылки:
a -> /LONG_PATH/a
b -> /LONG_PATH/b
c -> /LONG_PATH/c
с символьной ссылкой каталога
__parent_dir -> /LONG_PATH
a -> parent_dir/a
b -> parent_dir/b
c -> parent_dir/c
inode для каждого файла и каталога, это - правило. И о части, где символьные ссылки меньше чем 60 байтов хранятся в каталоге inode самом... Я полагаю, что это неправильно также.
По существу, когда символьная ссылка меньше чем 60 байтов длиной, она на самом деле хранится в ее собственном inode (который является отдельным от каталога inode), и блок данных не создается. Таким образом это ускоряет чтение символьных ссылок меньше чем 60 байтов, так как блок данных не должен быть считан, приведя к более быстрым операциям.