Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01dea1ef authored by Josef Bacik's avatar Josef Bacik Committed by Chris Mason
Browse files

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: default avatarJosef Bacik <josef@redhat.com>
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent 249ac1e5
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1296,7 +1296,7 @@ int btrfs_find_space_cluster(struct btrfs_trans_handle *trans,
			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;