* Foundation. See file COPYING.
*
*/
-
-
-
#ifndef CEPH_MDBALANCER_H
#define CEPH_MDBALANCER_H
-#include <list>
-#include <map>
-
#include "include/types.h"
#include "common/Clock.h"
#include "common/Cond.h"
int dump_loads(Formatter *f) const;
private:
- bool bal_fragment_dirs;
- int64_t bal_fragment_interval;
- static const unsigned int AUTH_TREES_THRESHOLD = 5;
-
typedef struct {
std::map<mds_rank_t, double> targets;
std::map<mds_rank_t, double> imported;
*/
void try_rebalance(balance_state_t& state);
+ bool bal_fragment_dirs;
+ int64_t bal_fragment_interval;
+ static const unsigned int AUTH_TREES_THRESHOLD = 5;
+
MDSRank *mds;
Messenger *messenger;
MonClient *mon_client;
// just as soon as a delayed context comes back and triggers it.
// These sets just prevent us from spawning extra timer contexts for
// dirfrags that already have one in flight.
- set<dirfrag_t> split_pending, merge_pending;
+ set<dirfrag_t> split_pending, merge_pending;
// per-epoch scatter/gathered info
- std::map<mds_rank_t, mds_load_t> mds_load;
- std::map<mds_rank_t, double> mds_meta_load;
+ std::map<mds_rank_t, mds_load_t> mds_load;
+ std::map<mds_rank_t, double> mds_meta_load;
std::map<mds_rank_t, map<mds_rank_t, float> > mds_import_map;
std::map<mds_rank_t, int> mds_last_epoch_under_map;
double my_load = 0;
double target_load = 0;
};
-
#endif