]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: remove out&down osd from daemons 54553/head
authorshimin <shimin@kuaishou.com>
Fri, 13 Oct 2023 07:54:53 +0000 (15:54 +0800)
committerKonstantin Shalygin <k0ste@k0ste.ru>
Sat, 18 Nov 2023 19:38:56 +0000 (02:38 +0700)
When we meet a bad disk problem, we just out the osd (alreay DOWN
 state). Before osd go to DOWN, it report slow ops to mgr, and `ceph -s`
command shows `18 slow ops, oldest one blocked for 259 sec...` warnings.
This warning never gone except we restart mgr.

Fixes: https://tracker.ceph.com/issues/63195
Signed-off-by: shimin <shimin@kuaishou.com>
(cherry picked from commit 3072b113242e01ed54a2154157f734e671d13a1a)

src/mgr/Mgr.cc

index bf9eae2e7f290ce48a832ec4c33c1f64b6beeefc..45bf6624ab7845dd5c9f406dbce7bd67c7e4108d 100644 (file)
@@ -489,7 +489,7 @@ void Mgr::handle_osd_map()
   cluster_state.with_osdmap_and_pgmap([this, &names_exist](const OSDMap &osd_map,
                                                           const PGMap &pg_map) {
     for (int osd_id = 0; osd_id < osd_map.get_max_osd(); ++osd_id) {
-      if (!osd_map.exists(osd_id)) {
+      if (!osd_map.exists(osd_id) || (osd_map.is_out(osd_id) && osd_map.is_down(osd_id))) {
         continue;
       }