]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush/CrushWrapper: rule_has_take
authorSage Weil <sage@redhat.com>
Thu, 27 Jul 2017 14:07:31 +0000 (10:07 -0400)
committerSage Weil <sage@redhat.com>
Wed, 6 Sep 2017 20:45:46 +0000 (16:45 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/crush/CrushWrapper.h

index 2707502c236e260e99ab782882a4be00964b3742..6b1caed147d425f2a43e72679abe34dc6f90f8c5 100644 (file)
@@ -976,6 +976,17 @@ public:
       return true;
     return false;
   }
+  bool rule_has_take(unsigned ruleno, int take) const {
+    if (!crush) return false;
+    crush_rule *rule = get_rule(ruleno);
+    for (unsigned i = 0; i < rule->len; ++i) {
+      if (rule->steps[i].op == CRUSH_RULE_TAKE &&
+         rule->steps[i].arg1 == take) {
+       return true;
+      }
+    }
+    return false;
+  }
   int get_rule_len(unsigned ruleno) const {
     crush_rule *r = get_rule(ruleno);
     if (IS_ERR(r)) return PTR_ERR(r);