From 195b286e2e796f03101f86d9bd59c02eff9fe2b6 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 7 Jul 2020 11:57:34 -0700 Subject: [PATCH] crimson/os/sesatore/lba_manager/btree: let leaf be depth 1 This way, we can let depth 0 be the actual logical extents. Signed-off-by: Samuel Just --- src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc | 3 ++- .../os/seastore/lba_manager/btree/lba_btree_node_impl.cc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc index f46359601654e..a2ee499f4df41 100644 --- a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc @@ -27,10 +27,11 @@ BtreeLBAManager::mkfs_ret BtreeLBAManager::mkfs( auto root_leaf = cache.alloc_new_extent( t, LBA_BLOCK_SIZE); + root_leaf->set_depth(1); root_leaf->set_size(0); croot->get_lba_root() = root_t{ - 0, + 1, 0, root_leaf->get_paddr(), make_record_relative_paddr(0)}; diff --git a/src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc b/src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc index bb6a3dec3a12b..c2cfbe4358e78 100644 --- a/src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc +++ b/src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc @@ -456,7 +456,8 @@ Cache::get_extent_ertr::future get_lba_btree_extent( paddr_t offset, paddr_t base) { offset = offset.maybe_relative_to(base); - if (depth > 0) { + ceph_assert(depth > 0); + if (depth > 1) { logger().debug( "get_lba_btree_extent: reading internal at offset {}, depth {}", offset, -- 2.47.3