summaryrefslogtreecommitdiffstats
path: root/src/osd/OSDMap.cc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-23 16:45:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-23 16:45:44 +0000
commit17d6a993fc17d533460c5f40f3908c708e057c18 (patch)
tree1a3bd93e0ecd74fa02f93a528fe2f87e5314c4b5 /src/osd/OSDMap.cc
parentReleasing progress-linux version 18.2.2-0progress7.99u1. (diff)
downloadceph-17d6a993fc17d533460c5f40f3908c708e057c18.tar.xz
ceph-17d6a993fc17d533460c5f40f3908c708e057c18.zip
Merging upstream version 18.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/osd/OSDMap.cc')
-rw-r--r--src/osd/OSDMap.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc
index 11f9a87d7..5fb73084d 100644
--- a/src/osd/OSDMap.cc
+++ b/src/osd/OSDMap.cc
@@ -933,6 +933,10 @@ void OSDMap::Incremental::decode(ceph::buffer::list::const_iterator& bl)
decode(new_last_up_change, bl);
decode(new_last_in_change, bl);
}
+ if (struct_v >= 9) {
+ decode(new_pg_upmap_primary, bl);
+ decode(old_pg_upmap_primary, bl);
+ }
DECODE_FINISH(bl); // client-usable data
}
@@ -1871,6 +1875,18 @@ uint64_t OSDMap::get_up_osd_features() const
return cached_up_osd_features;
}
+bool OSDMap::any_osd_laggy() const
+{
+ for (int osd = 0; osd < max_osd; ++osd) {
+ if (!is_up(osd)) { continue; }
+ const auto &xi = get_xinfo(osd);
+ if (xi.laggy_probability || xi.laggy_interval) {
+ return true;
+ }
+ }
+ return false;
+}
+
void OSDMap::dedup(const OSDMap *o, OSDMap *n)
{
using ceph::encode;