// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
-#include "crimson/os/seastore/segment_manager.h"
-#include "crimson/os/seastore/cache.h"
#include "crimson/os/seastore/lba_manager.h"
#include "crimson/os/seastore/lba_manager/btree/btree_lba_manager.h"
});
}
-LBAManagerRef lba_manager::create_lba_manager(
- SegmentManager &segment_manager,
- Cache &cache) {
- return LBAManagerRef(new btree::BtreeLBAManager(segment_manager, cache));
+LBAManagerRef lba_manager::create_lba_manager(Cache &cache) {
+ return LBAManagerRef(new btree::BtreeLBAManager(cache));
}
}
#include "crimson/os/seastore/cache.h"
#include "crimson/os/seastore/seastore_types.h"
-#include "crimson/os/seastore/segment_manager.h"
namespace crimson::os::seastore {
/**
* Calls f for each mapped space usage
*/
- using scan_mapped_space_iertr = base_iertr::extend_ertr<
- SegmentManager::read_ertr>;
+ using scan_mapped_space_iertr = base_iertr;
using scan_mapped_space_ret = scan_mapped_space_iertr::future<>;
using scan_mapped_space_func_t = std::function<
void(paddr_t, extent_len_t)>;
class Cache;
namespace lba_manager {
-LBAManagerRef create_lba_manager(
- SegmentManager &segment_manager,
- Cache &cache);
+LBAManagerRef create_lba_manager(Cache &cache);
}
}
extent_len_t len,
paddr_t addr)
{
- ceph_assert(is_aligned(hint, (uint64_t)segment_manager.get_block_size()));
struct state_t {
laddr_t last_end;
});
}
-BtreeLBAManager::BtreeLBAManager(
- SegmentManager &segment_manager,
- Cache &cache)
- : segment_manager(segment_manager),
- cache(cache)
+BtreeLBAManager::BtreeLBAManager(Cache &cache)
+ : cache(cache)
{
register_metrics();
}
#include "crimson/os/seastore/seastore_types.h"
#include "crimson/os/seastore/lba_manager.h"
#include "crimson/os/seastore/cache.h"
-#include "crimson/os/seastore/segment_manager.h"
#include "crimson/os/seastore/lba_manager/btree/lba_btree_node.h"
#include "crimson/os/seastore/btree/btree_range_pin.h"
*/
class BtreeLBAManager : public LBAManager {
public:
- BtreeLBAManager(
- SegmentManager &segment_manager,
- Cache &cache);
+ BtreeLBAManager(Cache &cache);
mkfs_ret mkfs(
Transaction &t) final;
~BtreeLBAManager();
private:
- SegmentManager &segment_manager;
Cache &cache;
btree_pin_set_t<laddr_t> pin_set;
auto journal = journal::make_segmented(sm, scanner_ref, *segment_cleaner);
auto epm = std::make_unique<ExtentPlacementManager>();
auto cache = std::make_unique<Cache>(*epm);
- auto lba_manager = lba_manager::create_lba_manager(sm, *cache);
+ auto lba_manager = lba_manager::create_lba_manager(*cache);
return std::make_unique<TransactionManager>(
std::move(segment_cleaner),
LOG_PREFIX(TransactionManager::alloc_extent);
SUBTRACET(seastore_tm, "{} len={}, placement_hint={}, laddr_hint={}",
t, T::TYPE, len, placement_hint, laddr_hint);
+ ceph_assert(is_aligned(laddr_hint, (uint64_t)epm->get_block_size()));
auto ext = cache->alloc_new_extent<T>(
t,
len,
extent_len_t len) {
LOG_PREFIX(TransactionManager::reserve_region);
SUBDEBUGT(seastore_tm, "len={}, laddr_hint={}", t, len, hint);
+ ceph_assert(is_aligned(hint, (uint64_t)epm->get_block_size()));
return lba_manager->alloc_extent(
t,
hint,
}
LBAManager::mkfs_ret test_structure_setup(Transaction &t) final {
- lba_manager.reset(new BtreeLBAManager(*segment_manager, *cache));
+ lba_manager.reset(new BtreeLBAManager(*cache));
return lba_manager->mkfs(t);
}