The block group cache structure has two embedded members that belong to the on-disk format but were used for the in-memory structures. It's been like that forever and I wonder why nobody was bothered by that. Switch to normal members and rename a few things on along the way. The size of block_group_cache is down from 528 to 504 so it should not fit better to slab pages. Further shrinkage is possible. David Sterba (6): btrfs: move block_group_item::used to block group btrfs: move block_group_item::flags to block group btrfs: remove embedded block_group_cache::item btrfs: rename block_group_item on-stack accessors to follow naming btrfs: rename extent buffer block group item accessors btrfs: add dedicated members for start and length of a block group fs/btrfs/block-group.c | 191 +++++++++++++------------ fs/btrfs/block-group.h | 5 +- fs/btrfs/ctree.h | 12 +- fs/btrfs/extent-tree.c | 31 ++-- fs/btrfs/free-space-cache.c | 39 +++-- fs/btrfs/free-space-tree.c | 83 ++++++----- fs/btrfs/ioctl.c | 5 +- fs/btrfs/print-tree.c | 6 +- fs/btrfs/reada.c | 4 +- fs/btrfs/relocation.c | 18 +-- fs/btrfs/scrub.c | 10 +- fs/btrfs/space-info.c | 3 +- fs/btrfs/sysfs.c | 4 +- fs/btrfs/tests/btrfs-tests.c | 5 +- fs/btrfs/tests/free-space-tree-tests.c | 75 +++++----- fs/btrfs/tree-checker.c | 10 +- fs/btrfs/volumes.c | 19 ++- include/trace/events/btrfs.h | 21 ++- 18 files changed, 264 insertions(+), 277 deletions(-) -- 2.23.0
