]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore/.../btree_range_pin: fix is_parent_of
authorSamuel Just <sjust@redhat.com>
Sat, 25 Sep 2021 00:10:43 +0000 (17:10 -0700)
committerSamuel Just <sjust@redhat.com>
Sat, 25 Sep 2021 01:26:09 +0000 (18:26 -0700)
The LBA tree implementation only requires that the start addr of
a logical extent be contained within the leaf range.  It's entirely
possible for the end of a logical extent to extend past the end addr
of the containing leaf node.

Fixes: https://tracker.ceph.com/issues/52709
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h

index e087b16fa50bfcd7ccc330422793dfa298475098..b80e7488c4fae39f508c39279170d1cc26109c34 100644 (file)
@@ -21,7 +21,7 @@ struct lba_node_meta_t {
   bool is_parent_of(const lba_node_meta_t &other) const {
     return (depth == other.depth + 1) &&
       (begin <= other.begin) &&
-      (end >= other.end);
+      (end > other.begin);
   }
 
   std::pair<lba_node_meta_t, lba_node_meta_t> split_into(laddr_t pivot) const {