]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
monmaptool: don't allow dup names, addrs to be added to the map
authorSage Weil <sage@newdream.net>
Fri, 11 Jun 2010 17:15:29 +0000 (10:15 -0700)
committerSage Weil <sage@newdream.net>
Fri, 11 Jun 2010 17:15:29 +0000 (10:15 -0700)
src/monmaptool.cc

index 4e7a877e9466597aa2e4a00f52d6f641c9fafb8a..2c6f8ecb6793fc708a18d066813b534f90ae1155 100644 (file)
@@ -109,8 +109,17 @@ int main(int argc, const char **argv)
     modified++;
   }
 
-  for (map<string,entity_addr_t>::iterator p = add.begin(); p != add.end(); p++)
+  for (map<string,entity_addr_t>::iterator p = add.begin(); p != add.end(); p++) {
+    if (monmap.contains(p->first)) {
+      cerr << me << ": map already contains mon." << p->first << std::endl;
+      usage();
+    }
+    if (monmap.contains(p->second)) {
+      cerr << me << ": map already contains " << p->second << std::endl;
+      usage();
+    }
     monmap.add(p->first, p->second);
+  }
   for (list<string>::iterator p = rm.begin(); p != rm.end(); p++) {
     cout << me << ": removing " << *p << std::endl;
     if (!monmap.contains(*p)) {