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:
Родитель
b78d09bceb
Коммит
1b22bad779
|
@ -5301,10 +5301,8 @@ alloc:
|
|||
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 @@ refill_cluster:
|
|||
/* 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) {
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче