• Josef Bacik's avatar
    Btrfs: keep track of max_extent_size per space_info · 4f4db217
    Josef Bacik authored
    When we are heavily fragmented we can induce a lot of latency trying to make an
    allocation happen that is simply not going to happen.  Thankfully we keep track
    of our max_extent_size when going through the allocator, so if we get to the
    point where we are exiting find_free_extent with ENOSPC then set our
    space_info->max_extent_size so we can keep future allocations from having to pay
    this cost.  We reset the max_extent_size whenever we release pinned bytes back
    into this space info so we can redo all the work.  Thanks,
    Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    4f4db217
ctree.h 140 KB