diff options
author | Josef Bacik <josef@redhat.com> | 2012-01-26 15:01:12 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2012-01-26 15:01:12 -0500 |
commit | 9b23062840e7c685ef0a0b561285d6e3a3b6811b (patch) | |
tree | 47c00ad85dced3c4712b03de926b77c4aad99a77 /fs | |
parent | 0c4e538bccc106872d31b1514570b4dac95fb7f2 (diff) | |
download | linux-9b23062840e7c685ef0a0b561285d6e3a3b6811b.tar.gz linux-9b23062840e7c685ef0a0b561285d6e3a3b6811b.tar.bz2 linux-9b23062840e7c685ef0a0b561285d6e3a3b6811b.zip |
Btrfs: advance window_start if we're using a bitmap
If we span a long area in a bitmap we could end up taking a lot of time
searching to the next free area if we're searching from the original
window_start, so advance window_start in order to make sure we don't do any
superficial searching. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/free-space-cache.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index 61447a51f645..5802b1473c3d 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -2251,6 +2251,7 @@ u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group, offset_index); continue; } + cluster->window_start += bytes; } else { ret = entry->offset; |