summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: resend data log entry if took too longwip-rgw-bucketlog-2Yehuda Sadeh2013-05-061-12/+29
| | | | | | | If took too long, we want to resend. Also, fix issue with renew. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: more data changes log implementationYehuda Sadeh2013-05-063-22/+79
| | | | | | | | Remove a bunch of hard coded stuff. Make renew thread updates expiration. Only renew if there was more than one request through the current window. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* RefCounteCond: keep return val, wait() returns itYehuda Sadeh2013-05-061-3/+10
| | | | | | | It is necessary in some cases to notify waiters of the actual return value for the action they were waiting on. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: changed data log renew threadYehuda Sadeh2013-05-018-116/+170
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: limit num of buckets in data changes logYehuda Sadeh2013-05-012-4/+8
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: use shared_ptr instead of RefCountedObjectYehuda Sadeh2013-05-012-9/+7
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* lru_map: infrastructure for a bounded mapYehuda Sadeh2013-05-012-0/+95
| | | | | | | Useful for cache-like maps, where we want to control the max number of entries in the map. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: data changes log, don't always send new requestsYehuda Sadeh2013-05-012-2/+84
| | | | | | We may piggy back on older entries that hasn't expired yet. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: data changes log, naive implementationYehuda Sadeh2013-04-295-4/+322
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: decouple bucket data pool from bucket index poolYehuda Sadeh2013-04-187-111/+154
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix get_obj() with zero sized objYehuda Sadeh2013-04-181-1/+2
| | | | | | | Now that even zero sized objs have manifest a test had to be modified. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: don't set shadow obj attr in object metadataYehuda Sadeh2013-04-171-8/+0
| | | | | | This is incorrect, was only right for pre-manifest objects. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw-admin: object stat also decodes policyYehuda Sadeh2013-04-171-0/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: update cli test for radosgw-adminYehuda Sadeh2013-04-171-1/+15
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Makefile.am: add missing header fileYehuda Sadeh2013-04-171-0/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw-admin: add object stat commandYehuda Sadeh2013-04-161-0/+83
| | | | | | for retrieving object metadata. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw-admin: bucket list also specifies object namespaceYehuda Sadeh2013-04-167-11/+18
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: copy_obj uses req_id as tagYehuda Sadeh2013-04-165-7/+36
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: radosgw-admin bucket list --bucket lists bucket objectsYehuda Sadeh2013-04-1510-26/+84
| | | | | | Also lists tag for each object. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: call rgw_store_user_info() with objv_trackerYehuda Sadeh2013-04-151-1/+1
| | | | | | another rebase casualty Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw-admin: fix some more merge issuesYehuda Sadeh2013-04-151-1/+10
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw-admin: fix user_id initializationYehuda Sadeh2013-04-152-1/+5
| | | | | | broken due to rebase Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: share object tag and index tagYehuda Sadeh2013-04-153-52/+12
| | | | | | | | | | | object tag is now being written to the index, so that both object and index hold the same tag. This is needed so that we could know whether object and index refer to the same instance. Also cleanup old legacy code that did atomic ops through cloning objects. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: bucket index log fixesYehuda Sadeh2013-04-153-17/+25
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* radosgw-admin: bilog list gets marker and max-entries paramsYehuda Sadeh2013-04-151-4/+16
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* radosgw-admin, cls_rgw: list bucket index logYehuda Sadeh2013-04-159-19/+347
| | | | | | a new radosgw-admin command to list bucket index log. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_rgw: bucket index versioningYehuda Sadeh2013-04-157-40/+104
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix broken radosgw-admin user * commandsYehuda Sadeh2013-04-151-0/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_rgw, rgw: bucket index logs modificationsYehuda Sadeh2013-04-1510-75/+334
| | | | | | | | | | | Add a log to the bucket index. This commit also ties the "epoch" version that is kept per index entry to the relevant ceph pool id. This fixes the dependency on the specific pool where the object was created, and makes it possible to copy rgw data pools. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: metadata rmYehuda Sadeh2013-04-156-26/+241
| | | | | | | Still needs to fix the way we remove user entries; need to take different path, similar to put_entry()) Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: cls_log_trim boundary changeYehuda Sadeh2013-04-151-1/+1
| | | | | | end_time is not inclusive Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: show metadata log through radosgw-adminYehuda Sadeh2013-04-154-28/+154
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: use new cls_log listing interfaceYehuda Sadeh2013-04-153-0/+29
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: adjust listing apiYehuda Sadeh2013-04-155-25/+109
| | | | | | Listing api now also gets end time and a marker. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: log user operationsYehuda Sadeh2013-04-158-5/+95
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: track object versions between reads and writesYehuda Sadeh2013-04-1510-89/+201
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: initialize meta_mgr earlierYehuda Sadeh2013-04-151-2/+2
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* test_cls_log: remove warningYehuda Sadeh2013-04-151-5/+0
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: extend unitestYehuda Sadeh2013-04-151-22/+212
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: more fixesYehuda Sadeh2013-04-151-8/+12
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: unitestYehuda Sadeh2013-04-152-0/+133
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: fixes, other adjustmentsYehuda Sadeh2013-04-153-9/+33
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* objclass: provide new api for unique subop versioningYehuda Sadeh2013-04-152-0/+34
| | | | | | | | | | We need to be able to generate a unique identifier for each subop. This can be useful e.g., if we want to keep multiple omap data entries indexed by the same key. The unique id is being generated by the current object id and the current osd subop count. For write operations it's unique. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* osd: keep track of current osd subop numYehuda Sadeh2013-04-152-1/+4
| | | | | | | This can be used later to generate unique subop versions in compound write operations. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: trim works in chunks, returns -ENODATA when doneYehuda Sadeh2013-04-153-1/+28
| | | | | | | Also created a higher level interface that iterates until done. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_log: a class to handle info sorted by timestampYehuda Sadeh2013-04-156-0/+427
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: metadata list user, only show uidsYehuda Sadeh2013-04-151-2/+18
| | | | | | don't show unrelated object names Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: user metadata updates also key versionYehuda Sadeh2013-04-156-21/+21
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: add top level metadata handlerYehuda Sadeh2013-04-153-2/+64
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: put metadata, other cleanupsYehuda Sadeh2013-04-156-17/+141
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>