diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-07-27 01:12:49 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-07-29 15:06:56 -0700 |
commit | b5e74485d94d033478f791535423a8b8bef88326 (patch) | |
tree | 42fe01adac04a64b15e34a70f0f8bbb0caab2d4f | |
parent | 68730d80c8aa393a583c92052ef5ffd11efe17a6 (diff) | |
download | ceph-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.cc | 6 |
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); } |