]> 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)
commit85cac1a99c69f648cf435e9aa7c445b2547f5731
treea7f3c3bbe5fa0cf6bf821f3a26d8969647dfd20d
parent6f901070d1e82d660134da81830d2ae10463f655
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