Hi all, This series cleans up some warts in the extent freeing log intent code. We start by acknowledging that this mechanism does not have anything to do with the bmap code by moving it to xfs_alloc.c and giving the function a more descriptive name. Then we clean up the tracepoints and the _finish_one call paths to pass the intent structure around. This reduces the overhead when the tracepoints are disabled and will make things much cleaner when we start adding realtime support in the next patch. I also incorporated a bunch of cleanups from Christoph Hellwig. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. This has been running on the djcloud for months with no problems. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=extfree-intent-cleanups xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=extfree-intent-cleanups --- include/xfs_mount.h | 3 + include/xfs_trace.h | 5 +- libxfs/defer_item.c | 91 +++++++++++++++++-------------------------- libxfs/defer_item.h | 6 +++ libxfs/xfs_ag.c | 2 - libxfs/xfs_alloc.c | 92 +++++++++++-------------------------------- libxfs/xfs_alloc.h | 12 +++--- libxfs/xfs_bmap.c | 12 ++++-- libxfs/xfs_bmap_btree.c | 2 - libxfs/xfs_ialloc.c | 5 +- libxfs/xfs_ialloc_btree.c | 2 - libxfs/xfs_refcount.c | 6 +-- libxfs/xfs_refcount_btree.c | 2 - repair/bulkload.c | 3 + 14 files changed, 96 insertions(+), 147 deletions(-)