Commit Graph

25988 Commits

Author SHA1 Message Date
Yehuda Sadeh
0b526d95f3 rgw: don't set shadow obj attr in object metadata
This is incorrect, was only right for pre-manifest objects.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
abef2b2464 rgw-admin: object stat also decodes policy
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
d05d05a562 rgw: update cli test for radosgw-admin
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
2983d987ef Makefile.am: add missing header file
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
7132e6e00c rgw-admin: add object stat command
for retrieving object metadata.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
49b3d2e05e rgw-admin: bucket list also specifies object namespace
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
4b142a1207 rgw: copy_obj uses req_id as tag
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 11:01:17 -07:00
Yehuda Sadeh
b295c64959 rgw: radosgw-admin bucket list --bucket lists bucket objects
Also lists tag for each object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
3d7b83900c rgw: call rgw_store_user_info() with objv_tracker
another rebase casualty

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
85e4ea9133 rgw-admin: fix some more merge issues
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
fa23b3e786 rgw-admin: fix user_id initialization
broken due to rebase

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
7e08c57d25 rgw: share object tag and index tag
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>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
2a16bafdd9 rgw: bucket index log fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
871b40137c radosgw-admin: bilog list gets marker and max-entries params
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
b1578ba705 radosgw-admin, cls_rgw: list bucket index log
a new radosgw-admin command to list bucket index log.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
5e196283f0 cls_rgw: bucket index versioning
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
d857896b3a rgw: fix broken radosgw-admin user * commands
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
abd0ab3e1c cls_rgw, rgw: bucket index logs modifications
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>
2013-05-08 10:57:46 -07:00
Yehuda Sadeh
478fe5ee84 rgw: metadata rm
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>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
fe63d44bd0 rgw: cls_log_trim boundary change
end_time is not inclusive

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
288645db16 rgw: show metadata log through radosgw-admin
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
75ada775ac rgw: use new cls_log listing interface
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
8444db6d6d cls_log: adjust listing api
Listing api now also gets end time and a marker.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
cb6d4de494 rgw: log user operations
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:45 -07:00
Yehuda Sadeh
7ca919227f rgw: track object versions between reads and writes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:57:12 -07:00
Yehuda Sadeh
72220bfaba rgw: initialize meta_mgr earlier
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
e98ca568f1 test_cls_log: remove warning
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
0cdce74d71 cls_log: extend unitest
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
c28f864773 cls_log: more fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
815e0ac40a cls_log: unitest
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
5313b991a4 cls_log: fixes, other adjustments
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
fee51dd921 objclass: provide new api for unique subop versioning
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>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
4feac81d8b osd: keep track of current osd subop num
This can be used later to generate unique subop versions
in compound write operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
b77422f820 cls_log: trim works in chunks, returns -ENODATA when done
Also created a higher level interface that iterates until
done.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:51 -07:00
Yehuda Sadeh
7c19f96688 cls_log: a class to handle info sorted by timestamp
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
0cccd7c6c3 rgw: metadata list user, only show uids
don't show unrelated object names

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
272635f3a5 rgw: user metadata updates also key version
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
ff2d3c95ae rgw: add top level metadata handler
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
dcee3a11cf rgw: put metadata, other cleanups
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
1269986dad rgw: metadata manager, api to list keys
Also, implement key listing for user metadata.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
7cfa89dc48 rgw: metadata set/get infrastructure
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
fe96600e1b rgw: rgw_get_system_obj() can return obj_version
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:55:50 -07:00
Yehuda Sadeh
2223d998b3 cls_version: add cls_version_read(ObjectReadOpeation&)
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
1563ad17ab librados: add two more ObjectOperation::exec()
- one that also gets out bufferlist and ret value pointer
 - one that gets a callback context

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
5f1b897c21 rgw: start tying metadata objs to version objclass
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
913ecd499a cls_version: unitest
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
8d7d436d53 cls_version: various fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
6a5966c308 cls_version: create a new objclass
New objclass to track and modify objects versions.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
8bab4fe043 rgw: fix json decoding of rgw_bucket
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00
Yehuda Sadeh
8bb5e0a2ef rgw: regionmap update
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-05-08 10:54:54 -07:00