]> 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)
committerJohn Spray <john.spray@redhat.com>
Wed, 1 Nov 2017 23:03:22 +0000 (23:03 +0000)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ef140de639078b40c05971fb219f7b8c12d83228)

src/crush/CrushWrapper.h

index 00773779471552330734a347a2a9d64c059be1dd..607b7c61e7a47a425c8627e08e200403e5af385e 100644 (file)
@@ -984,6 +984,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);