Btrfs: introduce the free space B-tree on-disk format
authorOmar Sandoval <osandov@fb.com>
Wed, 30 Sep 2015 03:50:34 +0000 (20:50 -0700)
committerChris Mason <clm@fb.com>
Thu, 17 Dec 2015 20:16:46 +0000 (12:16 -0800)
commit208acb8c72d7ace6b672b105502dca0bcb050162
treeb7247df458130c955e1246532b0ccc47f8ba0651
parent73fa48b674e819098c3bafc47618d0e2868191e5
Btrfs: introduce the free space B-tree on-disk format

The on-disk format for the free space tree is straightforward. Each
block group is represented in the free space tree by a free space info
item that stores accounting information: whether the free space for this
block group is stored as bitmaps or extents and how many extents of free
space exist for this block group (regardless of which format is being
used in the tree). Extents are (start, FREE_SPACE_EXTENT, length) keys
with no corresponding item, and bitmaps instead have the
FREE_SPACE_BITMAP type and have a bitmap item attached, which is just an
array of bytes.

Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/ctree.h
include/trace/events/btrfs.h