Feature:Skinny Metadata

From btrfs Wiki
Jump to: navigation, search

Skinny Metadata

Skinny Metadata is a feature added to btrfs in Linux v3.10. The primary motivation is that the overhead imposed by the generic EXTENT_ITEM record is too great at large scale.

Even in the earliest back reference traversal code, the key field of the btrfs_tree_block_info was unused, leaving only the level field. Given that all tree blocks on a btrfs file system are of identical size, placing the extent size in the offset field of the key was redundant.

The skinny metadata feature introduces a new METADATA_ITEM [169] item type. The offset field of the key represents the level of the tree that contains the extent. The btrfs_tree_block_info structure is completely removed from the item, saving 18 bytes (up to approximately 30% smaller) per metadata extent record of which there is one per metadata block on the entire file system.

Personal tools