mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
Btrfs: start search for new cluster at the beginning
Instead of starting at zero (offset is always zero), request a cluster starting at search_start, that denotes the beginning of the current block group. Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
b78d09bceb
commit
1b22bad779
1 changed files with 2 additions and 4 deletions
|
@ -5301,10 +5301,8 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
|
|||
spin_lock(&last_ptr->refill_lock);
|
||||
if (last_ptr->block_group &&
|
||||
(last_ptr->block_group->ro ||
|
||||
!block_group_bits(last_ptr->block_group, data))) {
|
||||
offset = 0;
|
||||
!block_group_bits(last_ptr->block_group, data)))
|
||||
goto refill_cluster;
|
||||
}
|
||||
|
||||
offset = btrfs_alloc_from_cluster(block_group, last_ptr,
|
||||
num_bytes, search_start);
|
||||
|
@ -5355,7 +5353,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
|
|||
/* allocate a cluster in this block group */
|
||||
ret = btrfs_find_space_cluster(trans, root,
|
||||
block_group, last_ptr,
|
||||
offset, num_bytes,
|
||||
search_start, num_bytes,
|
||||
empty_cluster + empty_size);
|
||||
if (ret == 0) {
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue