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

Масштабируемость подкаталога Ext4

В соответствии с http://ext4.wiki.kernel.org/index.php/Ext4_Howto говорит:

На данный момент максимально возможное количество подкаталогов, содержащихся в одном каталоге в Ext3, составляет 32000. Ext4 нарушает этот предел и допускает неограниченное количество подкаталогов.

Но в Википедии сказано:

В ext3 количество подкаталогов, которое может содержать каталог, ограничено 32000. Этот предел был увеличен до 64 000 в ext4, и с функцией «dir_nlink» он может выходить за его пределы (хотя при этом перестанет увеличиваться количество ссылок на родительском элементе).

Итак, чтобы выйти за рамки 64k, мне нужен dir_nlink? Меня особенно интересует Ubuntu 9.10, если это имеет значение.

Что ж, оба верны, Википедия немного более подробная. Короче говоря

  • да, ext4 позволяет неограниченное количество подкаталогов
  • да, чтобы использовать более 32000 поддиректоров, вам нужна функция dir_nlink

Причина, по которой Ext4 HOWTO не упоминает об этом, заключается в том, что очевидно, что dir_nlink обрабатывается прозрачно. Это просто функция драйвера ext4 в ядре Linux, поэтому вам нужно только беспокоиться о том, что ваше ядро ​​Linux достаточно свежее.

Патч явно был представлен в июле 2007 года.

http://www.mail-archive.com/git-commit-head@vger.kernel.org/msg17984.html

так что это, вероятно, самое позднее в Linux 2.6.22. Так что он будет в любом недавнем дистрибутиве; Думаю, именно поэтому Ext4 HOWTO не упоминает об этом.