]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: add is_valid_crush_name() helper
authorSage Weil <sage@inktank.com>
Mon, 15 Jul 2013 22:55:39 +0000 (15:55 -0700)
committerDan Mick <dan.mick@inktank.com>
Tue, 16 Jul 2013 22:13:30 +0000 (15:13 -0700)
[A-Za-z0-9-_.]+

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
src/crush/CrushWrapper.cc
src/crush/CrushWrapper.h

index 8a9addfb6c2801c06df1a022784e5af0875ef080..1a4097c08b96ddfd4398b0e6d8b038dfa9e30f40 100644 (file)
@@ -1109,3 +1109,20 @@ void CrushWrapper::generate_test_instances(list<CrushWrapper*>& o)
   o.push_back(new CrushWrapper);
   // fixme
 }
+
+
+bool CrushWrapper::is_valid_crush_name(const string& s)
+{
+  if (s.empty())
+    return false;
+  for (string::const_iterator p = s.begin(); p != s.end(); ++p) {
+    if (!(*p == '-') &&
+       !(*p == '_') &&
+       !(*p == '.') &&
+       !(*p >= '0' && *p <= '9') &&
+       !(*p >= 'A' && *p <= 'Z') &&
+       !(*p >= 'a' && *p <= 'z'))
+      return false;
+  }
+  return true;
+}
index f5a88c8bdd55571cf31564d82ef15a805d411970..f399e342110de81ef62f50aae74d28f0d64923e3 100644 (file)
@@ -790,6 +790,9 @@ public:
   void dump_rules(Formatter *f) const;
   void list_rules(Formatter *f) const;
   static void generate_test_instances(list<CrushWrapper*>& o);
+
+
+  static bool is_valid_crush_name(const string& s);
 };
 WRITE_CLASS_ENCODER(CrushWrapper)