summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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>
* rgw: fix check_state callYehuda Sadeh2013-06-181-1/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: specialized obj zone copy state for statelogYehuda Sadeh2013-06-183-1/+85
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: internal api for statelog objclassYehuda Sadeh2013-06-183-3/+198
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: pass in timestampYehuda Sadeh2013-06-184-8/+10
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: improve unitestYehuda Sadeh2013-06-181-58/+105
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: fix a few issuesYehuda Sadeh2013-06-181-5/+9
| | | | | | Issues that came up when developed the unitest Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* test: test for cls_statelogYehuda Sadeh2013-06-182-2/+170
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: fixesYehuda Sadeh2013-06-183-9/+9
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: add client api functionsYehuda Sadeh2013-06-172-0/+156
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: fixes and changes to apiYehuda Sadeh2013-06-172-36/+63
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_statelog: introducing new objclass to handle state trackingYehuda Sadeh2013-06-174-0/+492
| | | | | | | | | | | | | | | | | Somewhat similar to the log objclass, but uses different data for indexing. Also keeps a dual index. In general an entry has 3 identifiers: - object: the object id on which the operation is made - client_id: client's unique identifier - op_id: operation's unique identifier An entry is indexed by both client_id+op_id, and by object+op_id, make it possible to list operations either by client_id, or by object id. We also keep state per each entry and the new check_state request can be used as a guard. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: object mtime the same for both object and bucket indexYehuda Sadeh2013-06-171-4/+7
| | | | | | | Make sure object mtime that's passed to bucket index is the same as the one set on the object. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix inter-region copy (ofs wasn't correct)Yehuda Sadeh2013-06-171-5/+8
| | | | | | | | Fixing an issue with data read. Since inter-region copy uses embedded metadata within the data input, we need to fix the ofs accordingly. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: intra-region copy, preserve mtimeYehuda Sadeh2013-06-176-23/+38
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: system user get obj returns JSON encoded metadataYehuda Sadeh2013-06-172-7/+15
| | | | | | instead of binary encoded metadata Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: get / set user & bucket meta mtimeYehuda Sadeh2013-06-1512-52/+69
| | | | | | also update infrastructure to be able to set mtime on objects Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: preserve bucket creation time across different zones / regionsYehuda Sadeh2013-06-159-41/+51
| | | | | | | Keep bucket creation time in RGWBucketInfo, and make use of it where necessary. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: show mtime for metadata entriesYehuda Sadeh2013-06-1512-50/+78
| | | | | | currently only shows for buckets Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fixes for intra-zone object copyYehuda Sadeh2013-06-143-14/+17
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: set bucket marker and bucket obj version from masterYehuda Sadeh2013-06-146-18/+38
| | | | | | | | Make sure that bucket that's created gets the same marker as the one that the master region generated. Also, for some reason we weren't passing in the metadata obj version for the bucket. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: multiple changes for intra-zone object copyYehuda Sadeh2013-06-148-48/+117
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: when setting bucket metadata key, don't override placementYehuda Sadeh2013-06-141-0/+20
| | | | | | | | | | Bucket placement also contains data and index pools locations in the source zone. However, we might be applying it on a different zone, so we need to be careful not to use the source location here. We generate a new placement if a new bucket is detected, otherwise we keep the old one. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: forward amz headers of copy request to remote rgwYehuda Sadeh2013-06-149-10/+34
| | | | | | | So that if request has any special conditions, it'll be processed on the remote gateway Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: cleanup, move init_meta_info() into req_infoYehuda Sadeh2013-06-143-106/+72
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: remove unused variableYehuda Sadeh2013-06-141-3/+0
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: bucket marker contains zone nameYehuda Sadeh2013-06-141-1/+1
| | | | | | | | (issue 5347) We need this so that raw object names on different zones within the same region don't collide. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: pass original object attrs through extra request dataYehuda Sadeh2013-06-138-60/+146
| | | | | | | introduce a new mechanism that sends extra data with object info, and use it to encode source object metadata. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: a few fixes to copy object across regionYehuda Sadeh2013-06-124-11/+42
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: move most of object put processors implementationYehuda Sadeh2013-06-124-327/+330
| | | | | | | move code from rgw_op.cc to rgw_rados.cc, so that we could use it in the lower layer. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: separate req_state from object put processorsYehuda Sadeh2013-06-122-39/+48
| | | | | | | At least, for most of them. We'll move this code to rgw_rados.cc, and we don't want it to have req_state. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: organize get_obj handling for copy a bit differentYehuda Sadeh2013-06-125-16/+71
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: generate read request if source rgw is remoteYehuda Sadeh2013-06-129-44/+185
| | | | | | in a copy operation Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: propagate mtime from remote rgw on copyYehuda Sadeh2013-06-1111-41/+97
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: propagate error from remote gateway when copying objectYehuda Sadeh2013-06-113-23/+52
| | | | | | | Also make sure that we don't continue iterating locally through the object. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: pass grant headers to target when writeing objectYehuda Sadeh2013-06-104-31/+123
| | | | | | When writing object to remote gateway. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: head acls target can be quotedYehuda Sadeh2013-06-104-58/+63
| | | | | | | when passing x-amz-grant-* headers, the target (id, email, group) may be quoted. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: send meta headers with remote PUT requestYehuda Sadeh2013-06-105-9/+28
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: don't busy wait for outgoing rest requestsYehuda Sadeh2013-06-102-25/+26
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: don't send redirect if copy object has a local sourceYehuda Sadeh2013-06-101-1/+31
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: link bucket to owner on metadata updateYehuda Sadeh2013-06-101-0/+4
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix logic related to operations on different regionYehuda Sadeh2013-06-101-2/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: minor logging changeYehuda Sadeh2013-06-101-1/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix json decoding for swift keysYehuda Sadeh2013-06-101-4/+3
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: stream obj into http requestYehuda Sadeh2013-06-107-24/+334
| | | | | | | still need to figure out curl handle polling, handle client errors correctly. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: format put request authYehuda Sadeh2013-06-102-17/+55
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: bucket metadata, ignore ENOENT on putYehuda Sadeh2013-06-101-1/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>