summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-07-27 01:12:49 -0700
committerGreg Farnum <greg@inktank.com>2013-07-29 15:06:56 -0700
commitb5e74485d94d033478f791535423a8b8bef88326 (patch)
tree42fe01adac04a64b15e34a70f0f8bbb0caab2d4f
parent68730d80c8aa393a583c92052ef5ffd11efe17a6 (diff)
downloadceph-b5e74485d94d033478f791535423a8b8bef88326.tar.gz
rgw: set bucket attrs are a bucket instance meta operation
Need to do the action through the bucket instance handler and not through the bucket handler, otherwise it's wrongly recorded (and wrongly replayed, ouch). Fixes: #5791 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
-rw-r--r--src/rgw/rgw_bucket.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rgw/rgw_bucket.cc b/src/rgw/rgw_bucket.cc
index bf8da99d616..d32af5df601 100644
--- a/src/rgw/rgw_bucket.cc
+++ b/src/rgw/rgw_bucket.cc
@@ -202,7 +202,11 @@ int rgw_bucket_set_attrs(RGWRados *store, rgw_bucket& bucket,
string oid;
store->get_bucket_meta_oid(bucket, oid);
rgw_obj obj(store->zone.domain_root, oid);
- return store->meta_mgr->set_attrs(bucket_meta_handler, oid,
+
+ string key;
+ store->get_bucket_instance_entry(bucket, key); /* we want the bucket instance name without
+ the oid prefix cruft */
+ return store->meta_mgr->set_attrs(bucket_instance_meta_handler, key,
obj, attrs, rmattrs, objv_tracker);
}