Как согласуются данное утверждение Шишкина
Понял только, что они хотят фичу «tail packing» файловой системы reiserfs, совершенно не понимая, как работают алгоритмы и структуры данных последней. Скажу только, что в B-деревьях понятие «tail packing» начисто лишено какого-либо смысла. И, более того, попытка размещать в таких деревьях айтемы переменного размера ведёт к неограниченной внутренней фрагментации.
И, например, этот фрагмент вывода debugfs.reiser4 -t
NODE (3884) LEVEL=1 ITEMS=4 SPACE=0 MKFS ID=0x449d7b78 FLUSH=0x0
#0 TAIL (plain40): [2b0c7:4(FB):53444c5f6e6574:2b0de:2f3a] OFF=28, LEN=1222, flags=0x0
------------------------------------------------------------------------------
#1 TAIL (plain40): [2b0c7:4(FB):5448414e4b532e:2b0d5:0] OFF=1250, LEN=874, flags=0x0
------------------------------------------------------------------------------
#2 TAIL (plain40): [2b0c7:4(FB):646f6f6d322e63:2b0cf:0] OFF=2124, LEN=1135, flags=0x0
------------------------------------------------------------------------------
#3 TAIL (plain40): [2b0c7:4(FB):646f6f6d326d2e:2b0d0:0] OFF=3259, LEN=685, flags=0x8942
==============================================================================
Почему внутренние узлы заполнены не так:
Указатель0Ключ1Указатель1...КлючNУказательN
а так:
Ключ1Указатель1...КлючNУказательN
?
Или я неправильно понимаю вывод debugfs.reiser4?
NODE (5087) LEVEL=3 ITEMS=2 SPACE=3976 MKFS ID=0x449d7b78 FLUSH=0x0
#0 NPTR (nodeptr40): [29:1(SD):0:2a:0] OFF=28, LEN=8, flags=0x0 [5088]
------------------------------------------------------------------------------
#1 NPTR (nodeptr40): [2b0df:4(FB):66696c655f3139:2b1a0:650] OFF=36, LEN=8, flags=0x0 [5007]
http://web.archive.org/web/20071024001500/http://www.namesys.com/v4/v4.html#node_formats
Кстати, структуру этого самого Node Pointer Item'а я так и не нашел.