]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/crush/CrushWrapper.h
update source to 12.2.11
[ceph.git] / ceph / src / crush / CrushWrapper.h
index b18e4f8e6061a1e8b9168e973d2d1d3dc65d8a2e..8063e8ab82a365932a5ca6b8a0510a4dc876d7e1 100644 (file)
@@ -948,6 +948,9 @@ public:
     return adjust_item_weight_in_loc(cct, id, (int)(weight * (float)0x10000), loc);
   }
   void reweight(CephContext *cct);
+  void reweight_bucket(crush_bucket *b,
+                      crush_choose_arg_map& arg_map,
+                      vector<uint32_t> *weightv);
 
   int adjust_subtree_weight(CephContext *cct, int id, int weight);
   int adjust_subtree_weightf(CephContext *cct, int id, float weight) {
@@ -1186,6 +1189,8 @@ private:
    **/
   int detach_bucket(CephContext *cct, int item);
 
+  int get_new_bucket_id();
+
 public:
   int get_max_buckets() const {
     if (!crush) return -EINVAL;
@@ -1286,6 +1291,15 @@ public:
   /* remove unused roots generated for class devices */
   int trim_roots_with_class();
 
+  int reclassify(
+    CephContext *cct,
+    ostream& out,
+    const map<string,string>& classify_root,
+    const map<string,pair<string,string>>& classify_bucket
+    );
+
+  int set_subtree_class(const string& name, const string& class_name);
+
   void start_choose_profile() {
     free(crush->choose_tries);
     /*