using NodeImplURef = std::unique_ptr<NodeImpl>;
using level_t = uint8_t;
+constexpr auto MAX_LEVEL = std::numeric_limits<level_t>::max();
+
// a type only to index within a node, 32 bits should be enough
using index_t = uint32_t;
constexpr auto INDEX_END = std::numeric_limits<index_t>::max();
context_t c, level_t old_root_level,
laddr_t old_root_addr, Super::URef&& super)
{
+ // support tree height up to 256
+ ceph_assert(old_root_level < MAX_LEVEL);
return InternalNode::allocate(c, field_type_t::N0, true, old_root_level + 1
).safe_then([c, old_root_addr,
super = std::move(super)](auto fresh_node) mutable {