From: junxiang Mu <1948535941@qq.com> Date: Wed, 26 Jun 2024 09:03:04 +0000 (+0800) Subject: mds/QuiesceDbManager: get requested state of members before iterating through each... X-Git-Tag: v20.0.0~1454^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=afb531019f7f68f276a50382c900f385ab5d5de9;p=ceph.git mds/QuiesceDbManager: get requested state of members before iterating through each quiesce set members Fixes: https://tracker.ceph.com/issues/66551 Signed-off-by: junxiang Mu <1948535941@qq.com> --- diff --git a/src/mds/QuiesceDbManager.cc b/src/mds/QuiesceDbManager.cc index 3629e0190ee6..12c83634e54e 100644 --- a/src/mds/QuiesceDbManager.cc +++ b/src/mds/QuiesceDbManager.cc @@ -1201,6 +1201,7 @@ void QuiesceDbManager::calculate_quiesce_map(QuiesceMap &map) for(auto & [set_id, set]: db.sets) { if (set.is_active()) { + auto requested = set.get_requested_member_state(); // we only report active sets; for(auto & [root, member]: set.members) { if (member.excluded) { @@ -1210,7 +1211,6 @@ void QuiesceDbManager::calculate_quiesce_map(QuiesceMap &map) // for a quiesce map, we want to report active roots as either QUIESCING or RELEASING // this is to make sure that clients always have a reason to report back and confirm // the quiesced state. - auto requested = set.get_requested_member_state(); auto ttl = get_root_ttl(set, member, db_age); auto root_it = map.roots.try_emplace(root, QuiesceMap::RootInfo { requested, ttl }).first;