We have some specialized block rsvs, like the inode rsv and the delayed refs rsv, that have their own special oddities. These don't fit in extent-tree.c, so migrate them to different places. Most of them go to existing files, but the delalloc stuff gets its own file because it's a lot of code, and inode.c and file.c are relatively large already.
This depends on the previous two chunks of migrations. These are relatively small and straightforward since all of the functions were exported already as they are used throughout the entire codebase. The diffstat is as follows fs/btrfs/Makefile | 2 +- fs/btrfs/ctree.h | 24 -- fs/btrfs/delalloc-space.c | 497 ++++++++++++++++++++++++++++++ fs/btrfs/delalloc-space.h | 25 ++ fs/btrfs/delayed-ref.c | 177 +++++++++++ fs/btrfs/delayed-ref.h | 10 + fs/btrfs/extent-tree.c | 733 +------------------------------------------- fs/btrfs/file.c | 1 + fs/btrfs/free-space-cache.c | 1 + fs/btrfs/inode-map.c | 1 + fs/btrfs/inode.c | 1 + fs/btrfs/ioctl.c | 1 + fs/btrfs/ordered-data.c | 1 + fs/btrfs/relocation.c | 1 + fs/btrfs/root-tree.c | 56 ++++ fs/btrfs/transaction.c | 18 ++ fs/btrfs/transaction.h | 1 + 17 files changed, 793 insertions(+), 757 deletions(-) Thanks, Josef