]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit83032deb737b5df86b9182cacb54a5d3286daea1
treea7f3c3bbe5fa0cf6bf821f3a26d8969647dfd20d
parentb26682cb6c70c90d0654bb05b207deca145f5ab9
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