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

Commit 28b8bb9e authored by Chris Mason's avatar Chris Mason Committed by David Woodhouse
Browse files

Btrfs: allocator tweaks

parent cd1bc465
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -94,9 +94,6 @@ struct buffer_head *btrfs_find_tree_block(struct btrfs_root *root, u64 blocknr)
	} while (bh != head);
	} while (bh != head);
out_unlock:
out_unlock:
	unlock_page(page);
	unlock_page(page);
	if (ret) {
		touch_buffer(ret);
	}
	page_cache_release(page);
	page_cache_release(page);
	return ret;
	return ret;
}
}
+5 −2
Original line number Original line Diff line number Diff line
@@ -311,7 +311,10 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans, struct
			clear_radix_bit(pinned_radix, gang[i]);
			clear_radix_bit(pinned_radix, gang[i]);
		}
		}
	}
	}
	root->fs_info->block_group_cache = NULL;
	if (root->fs_info->block_group_cache) {
		root->fs_info->block_group_cache->last_alloc =
			root->fs_info->block_group_cache->first_free;
	}
	return 0;
	return 0;
}
}


@@ -578,7 +581,7 @@ static int find_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root
				if (last_block < search_start)
				if (last_block < search_start)
					last_block = search_start;
					last_block = search_start;
				hole_size = key.objectid - last_block;
				hole_size = key.objectid - last_block;
				if (hole_size > num_blocks) {
				if (hole_size >= num_blocks) {
					ins->objectid = last_block;
					ins->objectid = last_block;
					ins->offset = hole_size;
					ins->offset = hole_size;
					goto check_pending;
					goto check_pending;