diff --git a/src/config.cc b/src/config.cc index 894b3b48227..1fcb92ca2ca 100644 --- a/src/config.cc +++ b/src/config.cc @@ -450,6 +450,7 @@ static struct config_option config_optionsp[] = { OPTION(mds_bal_split_size, 0, OPT_INT, 10000), OPTION(mds_bal_split_rd, 0, OPT_FLOAT, 25000), OPTION(mds_bal_split_wr, 0, OPT_FLOAT, 10000), + OPTION(mds_bal_split_bits, 0, OPT_INT, 3), OPTION(mds_bal_merge_size, 0, OPT_INT, 50), OPTION(mds_bal_merge_rd, 0, OPT_FLOAT, 1000), OPTION(mds_bal_merge_wr, 0, OPT_FLOAT, 1000), diff --git a/src/config.h b/src/config.h index c6f5214894c..3141b9e61bb 100644 --- a/src/config.h +++ b/src/config.h @@ -275,6 +275,7 @@ struct md_config_t { int mds_bal_split_size; float mds_bal_split_rd; float mds_bal_split_wr; + int mds_bal_split_bits; int mds_bal_merge_size; float mds_bal_merge_rd; float mds_bal_merge_wr; diff --git a/src/mds/MDBalancer.cc b/src/mds/MDBalancer.cc index 29e1de4a917..609e16f517d 100644 --- a/src/mds/MDBalancer.cc +++ b/src/mds/MDBalancer.cc @@ -328,7 +328,7 @@ void MDBalancer::do_fragmenting() if (!dir->is_auth()) continue; dout(0) << "do_fragmenting splitting " << *dir << dendl; - mds->mdcache->split_dir(dir, 4); + mds->mdcache->split_dir(dir, g_conf.mds_bal_split_bits); } split_queue.clear(); }