summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: log in the same shard for bucket entry point and instancewip-rgw-geo-bucketinstanceYehuda Sadeh2013-06-253-10/+33
| | | | | | | We'd like to have bucket entry point and instance info at the same log shard, so that we can process them in order. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: unlink/link don't always update entry pointYehuda Sadeh2013-06-253-14/+26
| | | | | | | Some operations already update the entry point, so no need to do it again. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: tie metadata put to bucket link/unlinkYehuda Sadeh2013-06-2512-122/+113
| | | | | | and lot's of constifying Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_rgw: cleanupYehuda Sadeh2013-06-251-1/+0
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: some more internal api cleanupsYehuda Sadeh2013-06-253-17/+27
| | | | | | | | | Use of rgw_bucket when referring to the bucket instance, use bucket name when referring to the bucket entry point. Also, remove bucket input param where not needed (internally was using the bucket structure from the bucket info). Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: unlink bucket from user on metadata rm bucket:< bucket>Yehuda Sadeh2013-06-255-16/+25
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fixes to object versioning trackingYehuda Sadeh2013-06-253-11/+14
| | | | | | | | | | There are a few different cases for setting the object version. Either we need to create a new version, or we need to set the version provided (one metadata put). We also need to make sure that we log the correct previous version of the object. This commit fixes a few cases. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: filter read xattrsYehuda Sadeh2013-06-251-2/+12
| | | | | | | We're only interested in object xattrs that have specific rgw.user prefix. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: add str_startswith()Yehuda Sadeh2013-06-251-0/+5
| | | | | | useful util Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_ver: rename version xattr, add some more loggingYehuda Sadeh2013-06-252-1/+8
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: multiple fixes related to metadata, bucket creationYehuda Sadeh2013-06-248-52/+81
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: bucket entry point contains owner, other fixYehuda Sadeh2013-06-243-3/+13
| | | | | | | | | We now keep the owner at the bucket entry point. Also, reading bucket info at RGWCreateBucket::execute(), because previous changes has made it so that we didn't have the required bucket info initialized there. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: add a system request param to select op bucket instanceYehuda Sadeh2013-06-232-1/+9
| | | | | | | Added rgwx-bucket-instance request param that selects the actual bucket instance to use for this request. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: data log contains bucket instance info in keyYehuda Sadeh2013-06-231-2/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: format bucket.instance meta entries nicelyYehuda Sadeh2013-06-233-8/+10
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: use new instance handler for bucket operationsYehuda Sadeh2013-06-233-1/+10
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: create meta handler for bucket instanceYehuda Sadeh2013-06-235-42/+256
| | | | | | | | Create utility functions for reading writing bucket entry point and bucket instance. Add a separate meta handler for bucket instance. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: put_bucket_info() uses objv_tracker in bucket infoYehuda Sadeh2013-06-236-20/+16
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: keep objv_tracker on bucket infoYehuda Sadeh2013-06-236-64/+63
| | | | | | This ties it to the specific object instance info. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: refactor policy readingYehuda Sadeh2013-06-232-45/+52
| | | | | | reuse bucket info, no need to reread it again. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix policy readYehuda Sadeh2013-06-231-35/+84
| | | | | | | | policy reading used to have exact same logic for both buckets and objects, however, we now need to read bucket attributes through get_bucket_info(). Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: init member variableYehuda Sadeh2013-06-231-0/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: encode bucket info only after setting a flagYehuda Sadeh2013-06-231-2/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: initial work to separate bucket name and instanceYehuda Sadeh2013-06-237-18/+123
| | | | | | | | Bucket info now resides in an instance specific object. The old bucket info object now contains a pointer to the new instance. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: initialize system flag in RGWUserInfoYehuda Sadeh2013-06-231-1/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: various object put processor fixesYehuda Sadeh2013-06-231-6/+3
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix broken obj putYehuda Sadeh2013-06-221-0/+4
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: handle bucket creation with specified placement poolYehuda Sadeh2013-06-219-31/+171
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: user configuration for bucket placementYehuda Sadeh2013-06-213-1/+22
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: data structures for new data/index placement rulesYehuda Sadeh2013-06-212-2/+90
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: make replica log object name configurableYehuda Sadeh2013-06-212-1/+3
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* RGWReplicaBucketLogger: store bucket replica logs in the .logs poolGreg Farnum2013-06-212-5/+13
| | | | Signed-off-by: Greg Farnum <greg@inktank.com>
* Merge branch 'wip-rgw-geo-2' into wip-rgw-geoYehuda Sadeh2013-06-2149-954/+4550
|\ | | | | | | | | Conflicts: src/test/cli/radosgw-admin/help.t
| * rgw: buffer atomic put handlerYehuda Sadeh2013-06-202-9/+38
| | | | | | | | | | | | | | | | | | Since we tied the atomic put handler to libcurl output data, which uses much smaller chunks, we need to buffer data, otherwise we'd end up with a huge amount of small writes. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: tie opstate into intra-region copy operationsYehuda Sadeh2013-06-206-23/+119
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * Merge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2Yehuda Sadeh2013-06-209-124/+218
| |\
| | * rgw: lock related modificationswip-rgw-geo-enovanceBabu Shanmugam2013-06-207-82/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. zone-id inclusion in lock/unlock for mdlog and datalog 2. renewal of lock if the locker request lock again 3. modified lock_id param to locker-id Signed-off-by: Babu Shanmugam <anbu@enovance.com> Conflicts: src/rgw/rgw_rest_log.cc
| | * rgw: add max-entries, marker for log operationsBabu Shanmugam2013-06-208-50/+108
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Babu Shanmugam <anbu@enovance.com> Conflicts: src/rgw/rgw_admin.cc src/rgw/rgw_rest_log.cc
| * | fixup "radosgw-admin: new commands to look at and clean up replica logs"Greg Farnum2013-06-201-6/+6
| | |
| * | radosgw-admin: new commands to look at and clean up replica logsGreg Farnum2013-06-202-1/+148
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: integrate with RGWRadosGreg Farnum2013-06-204-3/+229
| | | | | | | | | | | | | | | | | | | | | | | | We introduce an implementation class RGWReplicaLogger, and two user classes RGWReplicaObjectLogger (for the data/metadata logs) and RGWReplicaBucketLogger (for the bucket logs). Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add tests.Greg Farnum2013-06-202-0/+160
| | | | | | | | | | | | | | | | | | | | | We do several good updates, a bad update, a good delete, a bad delete, several good gets, and a bad get. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add client with user documentationGreg Farnum2013-06-203-1/+178
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add the actual classGreg Farnum2013-06-202-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | This class can be applied to any object, and will keep track of the bounds, matching times, and matching sets of in-progress items. We're about to add a cls_replica_log_client that will provide a friendly user interface and provide more documentation. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add ops for new classGreg Farnum2013-06-204-2/+200
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add types for new classGreg Farnum2013-06-204-1/+282
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | radosgw_admin: fixup cli testGreg Farnum2013-06-201-0/+5
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | test: update cli testYehuda Sadeh2013-06-201-0/+4
| |/ | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * radosgw-admin: interface to control ops stateYehuda Sadeh2013-06-181-1/+104
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: OpState internal apiYehuda Sadeh2013-06-183-27/+83
| | | | | | | | | | | | | | Add new higher level functions to set, renew, list, and remove logged operation state. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>