Btrfs: fix how we set max_size for free space clusters
This patch fixes a problem where max_size can be set to 0 even though we filled the cluster properly. We set max_size to 0 if we restart the cluster window, but if the new start entry is big enough to be our new cluster then we could return with a max_size set to 0, which will mean the next time we try to allocate from this cluster it will fail. So set max_extent to the entry's size. Tested this on my box and now we actually allocate from the cluster after we fill it. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
249ac1e55c
commit
01dea1efc2
|
@ -1296,7 +1296,7 @@ again:
|
||||||
window_start = entry->offset;
|
window_start = entry->offset;
|
||||||
window_free = entry->bytes;
|
window_free = entry->bytes;
|
||||||
last = entry;
|
last = entry;
|
||||||
max_extent = 0;
|
max_extent = entry->bytes;
|
||||||
} else {
|
} else {
|
||||||
last = next;
|
last = next;
|
||||||
window_free += next->bytes;
|
window_free += next->bytes;
|
||||||
|
|
Loading…
Reference in New Issue