BtreeNodeMapping<key_t, val_t>::get_logical_extent(
Transaction &t)
{
- ceph_assert(is_parent_valid());
+ ceph_assert(is_parent_viewable());
assert(pos != std::numeric_limits<uint16_t>::max());
ceph_assert(t.get_trans_id() == ctx.trans.get_trans_id());
auto &p = (FixedKVNode<key_t>&)*parent;
get_child_ret_t<LogicalCachedExtent> get_logical_extent(Transaction&) final;
bool is_stable() const final;
bool is_data_stable() const final;
- bool is_parent_valid() const final {
+ bool is_parent_viewable() const final {
ceph_assert(parent);
if (!parent->is_valid()) {
return false;
bool is_zero_reserved() const {
return !get_val().is_real();
}
- virtual bool is_parent_valid() const = 0;
+ virtual bool is_parent_viewable() const = 0;
virtual bool parent_modified() const {
ceph_abort("impossible");
return false;
bool parent_modified() const final {
ceph_assert(parent);
- ceph_assert(is_parent_valid());
+ ceph_assert(is_parent_viewable());
auto &p = static_cast<LBALeafNode&>(*parent);
return p.modified_since(parent_modifications);
}
void maybe_fix_pos() final {
- assert(is_parent_valid());
+ assert(is_parent_viewable());
if (!parent_modified()) {
return;
}
LBAMappingRef pin)
{
auto fut = base_iertr::make_ready_future<LBAMappingRef>();
- if (!pin->is_parent_valid()) {
+ if (!pin->is_parent_viewable()) {
fut = get_pin(t, pin->get_key()
).handle_error_interruptible(
crimson::ct_error::enoent::assert_failure{"unexpected enoent"},
Transaction &t,
LBAMappingRef pin)
{
- ceph_assert(pin->is_parent_valid());
+ ceph_assert(pin->is_parent_viewable());
// checking the lba child must be atomic with creating
// and linking the absent child
auto v = pin->get_logical_extent(t);
// The according extent might be stable or pending.
auto fut = base_iertr::now();
if (!pin->is_indirect()) {
- if (!pin->is_parent_valid()) {
+ if (!pin->is_parent_viewable()) {
fut = get_pin(t, pin->get_key()
).si_then([&pin](auto npin) {
assert(npin);
{
auto t = create_transaction();
auto pin = get_pin(t, (LEAF_NODE_CAPACITY - 1) * 4096);
- assert(pin->is_parent_valid());
+ assert(pin->is_parent_viewable());
auto extent = alloc_extent(t, LEAF_NODE_CAPACITY * 4096, 4096, 'a');
- assert(!pin->is_parent_valid());
+ assert(!pin->is_parent_viewable());
pin = get_pin(t, LEAF_NODE_CAPACITY * 4096);
std::ignore = alloc_extent(t, (LEAF_NODE_CAPACITY + 1) * 4096, 4096, 'a');
- assert(pin->is_parent_valid());
+ assert(pin->is_parent_viewable());
assert(pin->parent_modified());
pin->maybe_fix_pos();
auto v = pin->get_logical_extent(*t.t);