mirror of
https://github.com/ceph/ceph
synced 2026-08-01 22:45:39 +00:00
crimson/os/seastore/transaction_manager: add the shadow to the trans'
read_set when getting extents Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
This commit is contained in:
parent
ba0655657c
commit
953710c5e6
@ -1521,8 +1521,19 @@ private:
|
||||
assert(cursor.get_pos() != BTREENODE_POS_NULL);
|
||||
ceph_assert(t.get_trans_id() == cursor.ctx.trans.get_trans_id());
|
||||
auto p = cursor.parent->cast<LBALeafNode>();
|
||||
return p->template get_child<LogicalChildNode>(
|
||||
auto v = p->template get_child<LogicalChildNode>(
|
||||
t, cursor.ctx.cache, cursor.get_pos(), cursor.key);
|
||||
if (v.has_child()) {
|
||||
return v.get_child_fut_as<LogicalChildNode>(
|
||||
).si_then([&t](auto lext) {
|
||||
if (auto shadow = lext->get_shadow();\
|
||||
shadow && shadow->is_stable()) {
|
||||
std::ignore = t.maybe_add_to_read_set(shadow);
|
||||
}
|
||||
return lext;
|
||||
});
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
base_iertr::future<LogicalChildNodeRef> read_cursor_by_type(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user