File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed
src/crimson/os/seastore/lba_manager/btree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -875,6 +875,7 @@ BtreeLBAManager::_update_mapping(
875875
876876 auto ret = f (iter.get_val ());
877877 if (ret.refcount == 0 ) {
878+ assert (nextent == nullptr );
878879 return btree.remove (
879880 c,
880881 iter
@@ -890,15 +891,16 @@ BtreeLBAManager::_update_mapping(
890891 iter,
891892 ret
892893 ).si_then ([c, ret, nextent](auto iter) {
893- // child-ptr may already be correct,
894- // see LBAManager::update_mappings()
895- if (nextent && !nextent->has_parent_tracker ()) {
894+ if (nextent) {
895+ // nextent is provided iff unlinked,
896+ // also see TM::rewrite_logical_extent()
897+ assert (!nextent->has_parent_tracker ());
896898 iter.get_leaf_node ()->update_child_ptr (
897899 iter.get_leaf_pos (), nextent);
898900 }
899901 assert (!nextent ||
900- (nextent->has_parent_tracker ()
901- && nextent->get_parent_node ().get () == iter.get_leaf_node ().get ()));
902+ (nextent->has_parent_tracker () &&
903+ nextent->get_parent_node ().get () == iter.get_leaf_node ().get ()));
902904 return update_mapping_ret_bare_t {
903905 std::move (ret),
904906 iter.get_pin (c)
You can’t perform that action at this time.
0 commit comments