]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
simplify mds overload judgement logic 19255/head
authorJianyu Li <joannyli@foxmail.com>
Tue, 12 Dec 2017 07:20:44 +0000 (15:20 +0800)
committerJianyu Li <joannyli@foxmail.com>
Wed, 20 Dec 2017 07:03:48 +0000 (15:03 +0800)
Signed-off-by: Jianyu Li <joannyli@tencent.com>
src/mds/MDBalancer.cc

index 85aeab8645e3278bb2a8988d0f255824e7fdf45a..d7fdf561bc3d8ca8032ac9441519c3988a9df318 100644 (file)
@@ -664,11 +664,13 @@ void MDBalancer::prep_rebalance(int beat)
        dout(15) << "   mds." << it->second << " is importer" << dendl;
        importers.insert(pair<double,mds_rank_t>(it->first,it->second));
        importer_set.insert(it->second);
-      } else if ((it->first > target_load * (1.0 + g_conf->mds_bal_min_rebalance)) && 
-        (it->second == whoami || !mds_last_epoch_under_info[it->second] || beat_epoch - mds_last_epoch_under_info[it->second] >= 2)){
-       dout(15) << "   mds." << it->second << " is exporter" << dendl;
-       exporters.insert(pair<double,mds_rank_t>(it->first,it->second));
-       exporter_set.insert(it->second);
+      } else if (it->first > target_load * (1.0 + g_conf->mds_bal_min_rebalance)) {
+        int mds_last_epoch_under = (it->second == whoami) ? 0 : mds_last_epoch_under_info[it->second];
+        if (!mds_last_epoch_under || beat_epoch - mds_last_epoch_under >= 2) {
+         dout(15) << "   mds." << it->second << " is exporter" << dendl;
+         exporters.insert(pair<double,mds_rank_t>(it->first,it->second));
+         exporter_set.insert(it->second);
+        }
       }
     }