Content deleted Content added
Disambiguated: Kernel → Kernel (computing) |
Added history and clarification of algorithm details |
||
Line 1:
{{distinguish2|[[H tree]], a family of fractal sets}}
An '''HTree''' is a specialized [[Tree (data structure)|tree data structure]] for directory indexing, similar to a [[B-tree]]. They are constant depth of either one or two levels, have a high fanout factor, use a hash of the [[filename]], and do not require [[balanced tree|balancing]].<ref>{{cite web|url=http://ext2.sourceforge.net/2005-ols/paper-html/node3.html|title=Directory indexing|author=Mingming Cao|work=Features found in Linux 2.6}}</ref> The HTree algorithm is distinquished from standard BTree methods by its treatment of hash collisions, which may overflow across multiple leaf and index blocks. Htree [[index (database)|index]]es are used in the [[
==History==
The Htree index data structure and algorithm were developed by Daniel Phillips in 2000 and implemented for the Ext2 filesystem in February 2001. A port to the Ext3 filesystem by Christopher Li and Andrew Morton in 2002 during the 2.5 kernel series added journal based crash consistency. With minor improvements, HTree continues to be used in Ext4 in the Linux 3.x.x kernel series.
==Use==
*[[ext2]] Htree indexes were originally
*[[ext3]] Htree indexes are available in ext3 when the dir_index feature is enabled.
*[[ext4]] Htree indexes are turned on by default in ext4. This feature is implemented in Linux kernel 2.6.23. The Htree is also used to index the files extents when the flow over 4 extents in the inode.
|