Commit Graph

73431 Commits

Author SHA1 Message Date
Mykola Golub
4db1ee39c0 rbd-mirror A/A: coordinate image syncs with leader
Fixes: http://tracker.ceph.com/issues/18789
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:49:42 +02:00
Mykola Golub
55f9c625bd rbd-mirror: resolve potential recursive lock
Would have been possible when release_image had lead to cancel
sync (i.e. cancel_sync_request).

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:42:25 +02:00
Mykola Golub
def50d0479 rbd-mirror: make sync throttler per pool
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:42:25 +02:00
Mykola Golub
b074260922 test/rbd_mirror: TestMockImageReplayer cleanup
Remove unnecessary ImageSyncThrottler dependency.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:42:25 +02:00
Mykola Golub
7ce058fb12 Merge pull request #15415 from dillaman/wip-rbd-valgrind
librbd: fix valgrind errors and ensure tests detect future leaks

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:38:34 +03:00
Mykola Golub
9c0dbfa25d Merge pull request #15140 from dillaman/wip-18963
rbd-mirror: permit release of local image exclusive lock after force promotion

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:37:56 +03:00
Haomai Wang
282f8d4caf Merge pull request #15484 from Adirl/wip
msg/async/rdma: Add DSCP support

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-06-06 09:22:52 +08:00
Yehuda Sadeh
ef65defe71 Merge pull request #15493 from yehudasa/wip-rgw-dynamic-sharding
rgw: dynamic resharding

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 17:10:04 -07:00
Yehuda Sadeh
014a4d07b7 cls/rgw: add missing members initialization
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 15:01:40 -07:00
Sage Weil
080f3433af Merge pull request #14239 from liewegas/wip-bluestore-ec-clone
os/bluestore: try to unshare blobs for EC overwrite workload

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-06-05 16:39:32 -05:00
Sage Weil
7eb4959c12 Merge pull request #15299 from joscollin/wip-cleanup-redundant-headers-6
common: Remove redundant includes - 6

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-05 16:39:05 -05:00
Sage Weil
3c52569ffb Merge pull request #15429 from jcsp/wip-nuke-rest
pybind/mgr: Delete `rest` module

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-05 16:36:36 -05:00
Yehuda Sadeh
93b8e83489 rgw: fix a race
We referred to complete_op_data after aio call that could have released
it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:04 -07:00
Yehuda Sadeh
13f2f36e81 test/cli/radosgw-admin: update reference help.t
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:04 -07:00
Yehuda Sadeh
b2a6f0e3e1 rgw: fix index completion
Was missing bucket complete op, only had the guard (bad merge?).
Pass zones_trace as pointer and treat it as optional param (which
it is).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:03 -07:00
Yehuda Sadeh
93106dac32 rgw: increase max shard prime, consolidate logic
Handle larger num of shards (max ~64k now). Use the same hash logic for shard ids
everywhere.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:03 -07:00
Yehuda Sadeh
ba1138d7a8 rgw: new num shards proportional to number of objects per shard
and also limit number of shards to not exceed the max.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:03 -07:00
Yehuda Sadeh
3b7fd0ffd5 rgw: handle zones_trace in bi async completion handler
needed following a rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:02 -07:00
Yehuda Sadeh
ef48cc4134 rgw: remove debug helper code
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:02 -07:00
Yehuda Sadeh
2417c2c0c6 rgw: ignore -ENOENT on bi_list()
just treat it as success with empty result

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:02 -07:00
Orit Wasserman
dc04b20f1d rgw: run resharding thread only on master zone
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:18:01 -07:00
Orit Wasserman
6c0611136d rgw: add check to see if out is null
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:18:01 -07:00
Orit Wasserman
246c78ebfc rgw: update entry in resharding log when resharding has started
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:18:01 -07:00
Orit Wasserman
9b3c91cbd9 rgw: start resharding theard
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:18:00 -07:00
Yehuda Sadeh
f2b0eb0863 rgw: replace reshard blocking sleep with interruptible condition wait
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:18:00 -07:00
Orit Wasserman
45ad93ddee rgw: add bucket to resharding queue if needs resharding
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:18:00 -07:00
Yehuda Sadeh
c6dc81cf4f rgw-admin: radosgw-admin reshard execute -> reshard process
to be in line with other radosgw-admin commands.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:59 -07:00
Yehuda Sadeh
07b21866a1 rgw: update bucket instance with resharding details
can be useful info for later in a cross zone sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:59 -07:00
Yehuda Sadeh
40faa8d952 radosgw-admin: reshard execute output adjustments
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:59 -07:00
Yehuda Sadeh
aa3f71d6b1 cls/rgw: remove unused field in reshard entry
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:58 -07:00
Yehuda Sadeh
1da369e1e8 rgw: reshard: renew lease and handle marker when listing reshard repo
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:58 -07:00
Yehuda Sadeh
7054308e85 cls/rgw: fix reshard_list truncation identification
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:58 -07:00
Yehuda Sadeh
6cb30f9c95 cls/rgw: expose api to generate reshard indexing key
So that we could use it as a marker when doing reshard_list.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:57 -07:00
Yehuda Sadeh
81693efd78 rgw: remove unneeded and duplicate code
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:57 -07:00
Yehuda Sadeh
6c540bd5fe rgw: initialize bucket structure
after reading bucket info

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:56 -07:00
Yehuda Sadeh
485a11fe59 rgw-admin: revive reshard execute command
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:56 -07:00
Yehuda Sadeh
ed72675ba2 rgw: bucket_id does not include bucket name
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:55 -07:00
Yehuda Sadeh
b516c92af5 rgw: bi_list() initialize is_truncated if -ENOENT
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:54 -07:00
Yehuda Sadeh
999cca4ed3 rgw: internal api cleanup
rename method, minor change

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:54 -07:00
Yehuda Sadeh
436f151e55 cls/rgw: reshard add command doesn't read existing status
No need to read existing status.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:54 -07:00
Yehuda Sadeh
2da8dc5d10 cls/rgw: fix remove_reshard objclass op
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:53 -07:00
Yehuda Sadeh
f677d0e960 cls/rgw: modify logshard key
The logshard key shouldn't include bucket id.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:53 -07:00
Yehuda Sadeh
8e1bf1b9e8 rgw: multiple fixes and adjustments related to resharding scheduler
still wip, but:
 - get rid of some unneeded rados locking
 - rename shards to logshards where relevant to avoid confusion
 - remove unused code

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:53 -07:00
Yehuda Sadeh
b757e7e16e rgw: fix compilation following rebase
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:52 -07:00
Yehuda Sadeh
cac047a88b rgw: replace reshard blocking sleep with interruptible condition wait
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-05 13:17:52 -07:00
Orit Wasserman
7114124673 rgw: actually reshard an entry from the resharding queue
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:17:52 -07:00
Orit Wasserman
c7fc87f9f1 rgw: check if buckets needs resharding on all ops that add new objects
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:17:51 -07:00
Orit Wasserman
444b9c918c rgw: add bucket to resharding queue if needs resharding
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:17:51 -07:00
Orit Wasserman
e03b85e987 rgw: check for bucket resharding when adding an object
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:17:51 -07:00
Orit Wasserman
9a084497fd rgw: add a function to add a bucket to the resharding queue
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2017-06-05 13:17:50 -07:00