]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix rgw_remove_bucket()
authorYehuda Sadeh <yehuda@inktank.com>
Fri, 5 Jul 2013 06:41:58 +0000 (23:41 -0700)
committerYehuda Sadeh <yehuda@inktank.com>
Fri, 5 Jul 2013 06:44:02 +0000 (23:44 -0700)
function was referring bucket info object directly, instead of going
through helper functions, which is now a must.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/rgw/rgw_bucket.cc

index e86abfe6eabcd2c0de791334bf349f2ab8a19a4b..00ff6008256fbc2ede0a54ff59f89782d433c6cd 100644 (file)
@@ -310,15 +310,9 @@ int rgw_remove_bucket(RGWRados *store, rgw_bucket& bucket, bool delete_children)
 
   obj.bucket = bucket;
 
-  ret = rgw_get_system_obj(store, NULL, store->zone.domain_root, bucket.name, bl, NULL, NULL);
-
-  bufferlist::iterator iter = bl.begin();
-  try {
-    ::decode(info, iter);
-  } catch (buffer::error& err) {
-    //cerr << "ERROR: could not decode buffer info, caught buffer::error" << std::endl;
-    return -EIO;
-  }
+  ret = store->get_bucket_info(NULL, bucket.name, info, NULL);
+  if (ret < 0)
+    return ret;
 
   if (delete_children) {
     int max = 1000;