]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: actually delete pools when using rados!
authorGreg Farnum <gregf@hq.newdream.net>
Fri, 12 Feb 2010 22:54:56 +0000 (14:54 -0800)
committerGreg Farnum <gregf@hq.newdream.net>
Tue, 16 Feb 2010 22:34:44 +0000 (14:34 -0800)
src/rgw/rgw_rados.cc

index f94d2ab06216c1e239978e0b6ab596b449e91b53..19bd087dde3efe842e57219f4de17360bcb91fcc 100644 (file)
@@ -274,15 +274,13 @@ int RGWRados::copy_obj(std::string& id, std::string& dest_bucket, std::string& d
 
 int RGWRados::delete_bucket(std::string& id, std::string& bucket)
 {
-  /* TODO! */
-#if 0
-  int len = strlen(DIR_NAME) + 1 + bucket.size() + 1;
-  char buf[len];
-  snprintf(buf, len, "%s/%s", DIR_NAME, bucket.c_str());
-
-  if (rmdir(buf) < 0)
-    return -errno;
-#endif
+  rados_pool_t pool;
+
+  int r = open_pool(bucket, &pool);
+  if (r < 0) return r;
+
+  r = rados->delete_pool(pool);
+  if (r < 0) return r;
   return 0;
 }