]> Git Repo - linux.git/commit
Btrfs: cut down on loops through the allocator
authorJosef Bacik <[email protected]>
Thu, 1 Oct 2015 18:54:10 +0000 (14:54 -0400)
committerChris Mason <[email protected]>
Thu, 22 Oct 2015 01:55:37 +0000 (18:55 -0700)
commita5e681d9bd641c4f0677e87d3a0c92a8f4f16293
treef10e2f374d3309bdcb5afb24ec0018d882a4537c
parent2968b1f48bd7366dd7310acde1ee6d1bf7791142
Btrfs: cut down on loops through the allocator

We try really really hard to make allocations, but sometimes it is just not
going to happen, especially when free space is extremely fragmented.  So add a
few short cuts through the looping states.  For example if we couldn't allocate
a chunk, just go straight to the NO_EMPTY_SIZE loop.  If there are no uncached
block groups and we've done a full search, go straight to the ALLOC_CHUNK stage.
And finally if we already have empty_size and empty_cluster set to 0 go ahead
and return -ENOSPC.  Thanks,

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
fs/btrfs/extent-tree.c
This page took 0.067326 seconds and 4 git commands to generate.