Currently extent_io.c includes all of the extent-io-tree code, the extent buffer code, the code to do IO on extent buffers and data extents, as well as a bunch of other random stuff. The random stuff just needs to be cleaned up, and is probably too invasive for this point in the development cycle. Instead I simply tackled moving the big obvious things out into their own files. I will follow up with cleanups for the rest of the stuff, but those can probably wait until the next cycle as they are going to be slightly more risky. As usual I didn't try to change anything, I simply moved code around. Any time I needed to make actual changes to functions I made a separate patch for that work, so for example breaking up the init/exit functions for extent-io-tree. Everything else is purely cut and paste into new files. The diffstat is as follows
fs/btrfs/Makefile | 3 +- fs/btrfs/ctree.h | 3 +- fs/btrfs/disk-io.h | 2 + fs/btrfs/extent-buffer.c | 1266 ++++++++ fs/btrfs/extent-buffer.h | 152 + fs/btrfs/extent-io-tree.c | 1955 ++++++++++++ fs/btrfs/extent-io-tree.h | 248 ++ fs/btrfs/extent_io.c | 7555 +++++++++++++-------------------------------- fs/btrfs/extent_io.h | 372 +-- fs/btrfs/super.c | 16 +- 10 files changed, 5843 insertions(+), 5729 deletions(-) Thanks, Josef