From 8fd9b037f5802ec8dab4d69f11435e4217dff76a Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Mon, 12 Feb 2024 09:26:36 +0000 Subject: [PATCH] osd/SnapMapper: Crimson - fix OSDriver::get_next There are other omap_keys that we may return which are not SnapMapper entries (_biginfo, _epoch, _fastinfo etc.). Signed-off-by: Matan Breizman --- src/osd/SnapMapper.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index 40611f7a646..8f1be705269 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -119,7 +119,8 @@ int OSDriver::get_next( ch, hoid, key ).safe_then_unpack([&key, next] (bool, FuturizedStore::Shard::omap_values_t&& vals) { CRIMSON_DEBUG("OSDriver::get_next key {} got omap values", key); - if (auto nit = std::begin(vals); nit == std::end(vals)) { + if (auto nit = std::begin(vals); + nit == std::end(vals) || !SnapMapper::is_mapping(nit->first)) { CRIMSON_DEBUG("OSDriver::get_next key {} no more values", key); return -ENOENT; } else { -- 2.39.5