From: Yehuda Sadeh Date: Sat, 27 Jul 2013 08:12:49 +0000 (-0700) Subject: rgw: set bucket attrs are a bucket instance meta operation X-Git-Tag: v0.67-rc3~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b5e74485d94d033478f791535423a8b8bef88326;p=ceph.git 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 Reviewed-by: Greg Farnum --- diff --git a/src/rgw/rgw_bucket.cc b/src/rgw/rgw_bucket.cc index bf8da99d616d..d32af5df601a 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); }