crimson/onode-staged-tree: misc fixes to integrate interruptive-future

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
This commit is contained in:
Yingxin Cheng 2021-08-03 11:52:41 +08:00
parent f61e94ff93
commit 03cd4d1518
2 changed files with 1 additions and 6 deletions

View File

@ -113,12 +113,6 @@ class SeastoreNodeExtentManager final: public TransactionManagerHandle {
).si_then([addr, &t](auto&& e) -> read_iertr::future<NodeExtentRef> {
TRACET("read {}B at {:#x} -- {}",
t, e->get_length(), e->get_laddr(), *e);
if (t.is_conflicted()) {
ERRORT("transaction conflict detected on extent read {}", t, *e);
assert(t.is_conflicted());
return crimson::ct_error::eagain::make();
}
assert(e->is_valid());
assert(e->get_laddr() == addr);
std::ignore = addr;
return read_iertr::make_ready_future<NodeExtentRef>(e);

View File

@ -121,6 +121,7 @@ class Btree {
auto this_obj = *this;
return p_cursor->erase<FORCE_MERGE>(p_tree->get_context(t), true
).si_then([this_obj, this] (Ref<tree_cursor_t> next_cursor) {
assert(p_cursor->is_invalid());
if (next_cursor) {
assert(!next_cursor->is_end());
return Cursor{p_tree, next_cursor};