From: Samuel Just Date: Sat, 25 Sep 2021 00:10:43 +0000 (-0700) Subject: crimson/os/seastore/.../btree_range_pin: fix is_parent_of X-Git-Tag: v17.1.0~805^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=49affebfa5fd4299ddab0b67e96015f140e598ad;p=ceph-ci.git crimson/os/seastore/.../btree_range_pin: fix is_parent_of 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 --- diff --git a/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h b/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h index e087b16fa50..b80e7488c4f 100644 --- a/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h +++ b/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h @@ -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 split_into(laddr_t pivot) const {