]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore: use iter_cend()
authorKefu Chai <tchaikov@gmail.com>
Tue, 1 Mar 2022 16:08:48 +0000 (00:08 +0800)
committerKefu Chai <tchaikov@gmail.com>
Tue, 1 Mar 2022 16:58:25 +0000 (00:58 +0800)
to avoid the pain of fixing the FTBFS with C++20 like

/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc:141:19: error: use of overloaded operator '!=' is ambiguous (with operand types 'crimson::os::seastore::omap_manager::StringKVInnerN$
  assert(child_pt != iter_end());
         ~~~~~~~~ ^  ~~~~~~~~~~
/usr/include/assert.h:93:27: note: expanded from macro 'assert'
     (static_cast <bool> (expr)                                         \
                          ^~~~
/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/string_kv_node_layout.h:380:10: note: candidate function
    bool operator==(const iter_t &rhs) const {
         ^
/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/string_kv_node_layout.h:380:10: note: candidate function (with reversed parameter order)

also, to be explicit is advisable.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/crimson/os/seastore/lba_manager/btree/lba_btree.cc
src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc

index 2c5e50c78860c232b9df4fcd31aeeba2e428e9eb..23826ff989fe003d4623c81d30fed1c4298f47dc 100644 (file)
@@ -621,7 +621,7 @@ LBABtree::handle_split_ret LBABtree::handle_split(
     nroot->set_meta(meta);
     nroot->pin.set_range(meta);
     nroot->journal_insert(
-      nroot->begin(),
+      std::cbegin(*nroot),
       L_ADDR_MIN,
       root.get_location(),
       nullptr);
index bf782fdb1f30af59d779094b61e25ec141710f7e..98f12d100bcd92bf230f7e112713b245d8207b33 100644 (file)
@@ -122,7 +122,7 @@ OMapInnerNode::get_value(
 {
   logger().debug("OMapInnerNode: {} key = {}",  __func__, key);
   auto child_pt = get_containing_child(key);
-  assert(child_pt != iter_end());
+  assert(child_pt != iter_cend());
   auto laddr = child_pt->get_val();
   return omap_load_extent(oc, laddr, get_meta().depth - 1).si_then(
     [oc, &key] (auto extent) {
@@ -138,7 +138,7 @@ OMapInnerNode::insert(
 {
   logger().debug("OMapInnerNode: {}  {}->{}",  __func__, key, value);
   auto child_pt = get_containing_child(key);
-  assert(child_pt != iter_end());
+  assert(child_pt != iter_cend());
   auto laddr = child_pt->get_val();
   return omap_load_extent(oc, laddr, get_meta().depth - 1).si_then(
     [oc, &key, &value] (auto extent) {
@@ -161,7 +161,7 @@ OMapInnerNode::rm_key(omap_context_t oc, const std::string &key)
 {
   logger().debug("OMapInnerNode: {}", __func__);
   auto child_pt = get_containing_child(key);
-  assert(child_pt != iter_end());
+  assert(child_pt != iter_cend());
   auto laddr = child_pt->get_val();
   return omap_load_extent(oc, laddr, get_meta().depth - 1).si_then(
     [this, oc, &key, child_pt] (auto extent) {
@@ -321,7 +321,7 @@ OMapInnerNode::merge_entry(
     auto mut_iter = mut->iter_idx(iter->get_index());
     return mut->merge_entry(oc, mut_iter, entry);
   }
-  auto is_left = (iter + 1) == iter_end();
+  auto is_left = (iter + 1) == iter_cend();
   auto donor_iter = is_left ? iter - 1 : iter + 1;
   return omap_load_extent(oc, donor_iter->get_val(), get_meta().depth - 1)
     .si_then([=] (auto &&donor) mutable {