Commit Graph

69542 Commits

Author SHA1 Message Date
xie xingguo
18c83bb97e osd/PG: kill PG_STATE_REPLAY
This replay state of PG is not functionable and
hence should not be made visible to user.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-03-20 10:24:25 +08:00
xie xingguo
7f4d4e8fd1 osd/PG: remove dup is_primary() check
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-03-14 21:02:44 +08:00
xie xingguo
5da2154e20 osd/PG: let proc_replica_info() do sanity check
As proc_replica_info() will do the check internally.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-03-14 18:57:04 +08:00
xie xingguo
2df1a265a2 OSD: conditionally retry on receiving pg-notify when Primary is Incomplete
If the pg info sent by the peer is identical to ours, or it is from a down OSD,
we can simply ignore and no action shall be taken.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-03-14 18:56:56 +08:00
Xie Xingguo
9650e5b62c Merge pull request #13801 from xiexingguo/wip-fix-func-name
osd: fix func name in log produced by handle_pg_peering_evt()

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-11 09:55:44 +08:00
Yehuda Sadeh
1ed22887ef Merge pull request #13856 from zhangsw/cleanup-radosgw-admin-tier_type
rgw: remove useless --tier_type in radosgw-admin.

Reviewed-by: Jiaying Ren <mikulely@gmail.com>
2017-03-10 13:54:23 -08:00
Yehuda Sadeh
5a91efd14b Merge pull request #13920 from cbodley/wip-rgw-fix-cleanup-meta-sync
rgw: fix transition from full to incremental meta sync

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-10 11:27:03 -08:00
Yehuda Sadeh
19f8f77918 Merge pull request #11586 from cbodley/wip-rgw-fetchallmeta-yield-break
rgw: fix break inside of yield in RGWFetchAllMetaCR

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-10 11:10:58 -08:00
Sage Weil
68ba724db5 Merge pull request #10407 from yonghengdexin735/wip-zzz-perf-counters
common/perf_counters.: Remove unnecessary judgment

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-10 10:55:21 -06:00
Casey Bodley
0705cef395 rgw: fix transition from full to incremental meta sync
when transitioning to incremental sync, we need to write temp_marker
instead of sync_marker, because temp_marker has replaced the full sync
marker (which is a metadata key, rather than an log marker) with
next_step_marker

this was breaking the metadata checkpoint in test_multi.py, because it
was comparing metadata keys (i.e. 'user:zone.user') against mdlog
markers

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-03-10 11:31:49 -05:00
Mykola Golub
25c2482735 Merge pull request #13737 from dillaman/wip-19104
test: support blacklisting within librados_test_stub

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-03-10 17:00:43 +02:00
Jason Dillaman
6be6625024 rbd-mirror: correct race conditions within leader watcher
It was possible for multiple, concurrent acquire attempts to be
running for a single instance due to notification messages. Now
only a single acquire state machine can be running.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 21:17:07 -05:00
Jason Dillaman
00591653bc librbd: improve debug log messages for managed lock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Jason Dillaman
854a96f1da test: potential shutdown race in TestMockImageReplayer.DecodeError
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Jason Dillaman
cc5ac6aa66 librbd: avoid duplicating librados IoCtx objects if not needed
This introduces the potential for shutdown race conditions within
the unit tests.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Jason Dillaman
5992a69404 test/librados_test_stub: support blacklisting of connections
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Jason Dillaman
a97e5db587 test/librados_test_stub: watch/notify should be connection-aware
Utilize the AIO completion thread of the local connection to best
simulate how librados actually performs when connected a cluster.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Jason Dillaman
25712d33a5 test/librados_test_stub: separate mock cluster from connection
The plan to support independent connections sharing the same
view of the mocked cluster.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-09 20:25:18 -05:00
Sage Weil
83d0704d2a Merge pull request #13857 from liupan1111/wip-rename-onack-to-oncommit
librados: replace the var name from onack to complete

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-09 15:16:19 -06:00
Yehuda Sadeh
3d290128e0 Merge pull request #11485 from yehudasa/wip-bucket-cleanup
rgw structures rework

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-03-09 10:16:48 -08:00
Mykola Golub
05c56b2cf2 Merge pull request #13758 from dillaman/wip-18748
rbd: demote/promote all mirrored images in a pool

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-03-09 20:15:17 +02:00
Yehuda Sadeh
a9ec5e8ce1 rgw: fix crash when listing objects via swift
Fixes: http://tracker.ceph.com/issues/19249

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:56 -08:00
Yehuda Sadeh
515db13970 qa/tasks/radosgw_admin: adjust test to new bucket structure
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:56 -08:00
Yehuda Sadeh
00a2af1ffd rgw: more fixes following rebase
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:56 -08:00
Yehuda Sadeh
803b04e5ba rgw: new rest api to retrieve object layout
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:56 -08:00
Yehuda Sadeh
8310c8f26d rgw: get_obj_state() checks for empty oids
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:56 -08:00
Yehuda Sadeh
29771695a0 rgw: metadata put of bucket instance sets bucket_id
Need to parse the bucket id off the entry and then set it on the
bucket struct.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:55 -08:00
Yehuda Sadeh
48dd2ceb65 rgw_admin: remove broken check
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:55 -08:00
Yehuda Sadeh
9fbdd2b983 mrgw.sh: fix script
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:55 -08:00
Yehuda Sadeh
21200e8dbc rgw: fix async cr operation
Fix crash due to code cleanup. Changes scope of obj ref.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:55 -08:00
Yehuda Sadeh
b21d13f1d6 rgw: modify default pools to use namespaces
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:55 -08:00
Yehuda Sadeh
5f46b3c7de rgw: handle pools namespace
Use rgw_pool all around, and replace librados::create_ioctx() with
helper that also sets the namespace.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:54 -08:00
Yehuda Sadeh
b34208f86f rgw: add namespace to rgw_pool
add a namespace field to the rgw_pool struct

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:54 -08:00
Yehuda Sadeh
a3303c9a3d rgw: compilation and other fixes following rebase
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:54 -08:00
Yehuda Sadeh
479e9f7377 rgw: move placement rule out of rgw_bucket
Bucket's placement rule is in the bucket instance's info. Object's
placement rule is in the manifest

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:54 -08:00
Yehuda Sadeh
5f9ab9f116 cls/version: add more useful logging
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:54 -08:00
Yehuda Sadeh
e67a3b5b5c rgw: fix ECANCELED handling in rgw_get_system_obj()
Fixes: http://tracker.ceph.com/issues/17996

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:53 -08:00
Yehuda Sadeh
50c522ea89 rgw: keep rgw_obj key info in rgw_obj_key field
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:53 -08:00
Yehuda Sadeh
5cf5ab470e rgw: add rgw_obj_index_key, kill RGWObjEnt
Use rgw_obj_index_key to represent entries in bucket index (typedef of
cls_rgw_obj_key). Get rid of RGWObjEnt, it was duplicate of rgw_bucket_dir_entry
anyway.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:53 -08:00
Yehuda Sadeh
bdf53ab3c3 rgw: clean rgw_obj
Instead of storing the oid and the name, just store the name
and calculate it when needed (same goes to locator). Also give more
coherent names to the various fields.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:53 -08:00
Yehuda Sadeh
2ae6f6cab6 rgw: fix bucket overwrite
got broken through the rgw_bucket cleanup related work

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:52 -08:00
Yehuda Sadeh
fc6fa2f402 test/rgw: extend obj, manifest unitests
Test rgw_raw_obj and upgrade of old rgw_obj, rgw_bucket and
old manifest.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:52 -08:00
Yehuda Sadeh
9c1b828e83 rgw: implicit rgw_bucket placement, manifest uses rgw_raw_obj
Two main changes here:
1. Newly created rgw_bucket does not have a predetermined placement pools
assigned to it. The placement_id param in the objects themselves points
at where the data is located. This affects object's tail location, head
is located where the bucket instance's placement rule points at.
2. Modify object manifest to use rgw_raw_obj instead of rgw_obj.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:52 -08:00
Yehuda Sadeh
df534b413c rgw: simple manifest compaction
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:52 -08:00
Yehuda Sadeh
81070d3424 rgw: use rgw_raw_obj in manifest code
This drags in multiple related changes that are needed in order to
support that.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:51 -08:00
Yehuda Sadeh
3583d67d61 rgw: decode rgw_raw_obj as rgw_obj when it's old object
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:51 -08:00
Yehuda Sadeh
18e8ecca09 rgw: remove unneeded virtual declarations
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:51 -08:00
Yehuda Sadeh
5fff6371d8 rgw: more fixes and adjustments following rgw_pool, rgw_raw_obj
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:51 -08:00
Yehuda Sadeh
10f73588a5 rgw: separate RGWObjState
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:50 -08:00
Yehuda Sadeh
66c2b0c0d6 rgw: introduce rgw_pool, rgw_raw_obj
Pools are represented by rgw_pool (and not rgw_bucket anymore),
and we use rgw_raw_obj to reference rados objs and all 'system'
objects (vs rgw_obj that is used for rgw objects).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-09 09:18:50 -08:00