Btrfs: incompatible format change to remove hole extents
authorJosef Bacik <jbacik@fusionio.com>
Tue, 22 Oct 2013 16:18:51 +0000 (12:18 -0400)
committerChris Mason <clm@fb.com>
Tue, 28 Jan 2014 21:19:21 +0000 (13:19 -0800)
commit16e7549f045d33b0c5b0ebf19d08439e9221d40c
treea7f3c3bbe5fa0cf6bf821f3a26d8969647dfd20d
parentd8ec26d7f8287f5788a494f56e8814210f0e64be
Btrfs: incompatible format change to remove hole extents

Btrfs has always had these filler extent data items for holes in inodes.  This
has made somethings very easy, like logging hole punches and sending hole
punches.  However for large holey files these extent data items are pure
overhead.  So add an incompatible feature to no longer add hole extents to
reduce the amount of metadata used by these sort of files.  This has a few
changes for logging and send obviously since they will need to detect holes and
log/send the holes if there are any.  I've tested this thoroughly with xfstests
and it doesn't cause any issues with and without the incompat format set.
Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/file.c
fs/btrfs/inode.c
fs/btrfs/send.c
fs/btrfs/tree-log.c