From 3303f86fdd50bf4f57447ca76952bceb45c00ee4 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Mon, 3 Mar 2025 18:07:25 +0800 Subject: [PATCH] crimson/os/seastore/linked_tree_node: set reserved_ptr to an 8-byte aligned address Maybe we shouldn't be using an instant integer as the invalid pointer. Fixes: https://tracker.ceph.com/issues/70202 Signed-off-by: Xuehan Xu --- src/crimson/os/seastore/linked_tree_node.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/linked_tree_node.h b/src/crimson/os/seastore/linked_tree_node.h index 4f8e52bea17c0..76be226ebb725 100644 --- a/src/crimson/os/seastore/linked_tree_node.h +++ b/src/crimson/os/seastore/linked_tree_node.h @@ -217,7 +217,10 @@ protected: // indirect mapping. template inline BaseChildNode* get_reserved_ptr() { - return (BaseChildNode*)0x1; + //TODO: using instant integers as invalid pointers may + // not be a good practice. + constexpr uint64_t reserved_ptr = std::numeric_limits::max() - 15; + return (BaseChildNode*)reserved_ptr; } template -- 2.47.3