]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agorgw: don't require system pools to start with a period
Yehuda Sadeh [Fri, 12 Jun 2015 00:03:08 +0000 (17:03 -0700)]
rgw: don't require system pools to start with a period

Make sure cache operations are being done on system objects.
Separate calls where needed to make sure that separate pool/bucket
handling is done correctly. When separating calls, don't use objv_tracker
for data objects, don't use data constructs for system objects.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agocls/rgw: rgw_bi_log_entry::decode_json(), decode ver
Yehuda Sadeh [Fri, 9 Oct 2015 03:53:42 +0000 (20:53 -0700)]
cls/rgw: rgw_bi_log_entry::decode_json(), decode ver

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: propagate olh_epoch for obj sync correctly
Yehuda Sadeh [Fri, 9 Oct 2015 03:52:17 +0000 (20:52 -0700)]
rgw: propagate olh_epoch for obj sync correctly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agocls_rgw: reset dirent flag appropriately
Yehuda Sadeh [Thu, 8 Oct 2015 23:43:05 +0000 (16:43 -0700)]
cls_rgw: reset dirent flag appropriately

Need to mark dirent as versioned if it has instance.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fetch_remote_obj() uses correct version_id
Yehuda Sadeh [Thu, 8 Oct 2015 22:52:13 +0000 (15:52 -0700)]
rgw: fetch_remote_obj() uses correct version_id

This fixes one aspect of the versioned objects sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: handle object removal in incremental data sync
Yehuda Sadeh [Thu, 8 Oct 2015 22:01:56 +0000 (15:01 -0700)]
rgw: handle object removal in incremental data sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: tie incremental data sync
Yehuda Sadeh [Wed, 7 Oct 2015 23:24:56 +0000 (16:24 -0700)]
rgw: tie incremental data sync

and other fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync locking fixes
Yehuda Sadeh [Wed, 7 Oct 2015 22:47:49 +0000 (15:47 -0700)]
rgw: data sync locking fixes

and other fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: minor cleanup
Yehuda Sadeh [Wed, 7 Oct 2015 21:57:56 +0000 (14:57 -0700)]
rgw: minor cleanup

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: don't create connection object for zone without endpoints
Yehuda Sadeh [Wed, 7 Oct 2015 21:57:28 +0000 (14:57 -0700)]
rgw: don't create connection object for zone without endpoints

warn about it though

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: async data changes notifications
Yehuda Sadeh [Wed, 7 Oct 2015 19:51:17 +0000 (12:51 -0700)]
rgw: async data changes notifications

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: work towards datalog sync notification
Yehuda Sadeh [Wed, 7 Oct 2015 00:14:15 +0000 (17:14 -0700)]
rgw: work towards datalog sync notification

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: eliminate window for data sync marker
Yehuda Sadeh [Tue, 6 Oct 2015 22:53:49 +0000 (15:53 -0700)]
rgw: eliminate window for data sync marker

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: only account actual io for coroutine io window
Yehuda Sadeh [Tue, 6 Oct 2015 22:33:54 +0000 (15:33 -0700)]
rgw: only account actual io for coroutine io window

stacks that are put in interval_wait shouldn't be accounted.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: incremental data sync adjustments
Yehuda Sadeh [Tue, 6 Oct 2015 22:10:50 +0000 (15:10 -0700)]
rgw: incremental data sync adjustments

update marker, close a race

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: incremental data sync
Yehuda Sadeh [Tue, 6 Oct 2015 20:52:11 +0000 (13:52 -0700)]
rgw: incremental data sync

still needs some more work, but basic structure is there.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix data sync init
Yehuda Sadeh [Tue, 6 Oct 2015 04:27:33 +0000 (21:27 -0700)]
rgw: fix data sync init

Need to wait for shards' status.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add rwlock to RGWObjectCtx
Yehuda Sadeh [Tue, 6 Oct 2015 00:39:16 +0000 (17:39 -0700)]
rgw: add rwlock to RGWObjectCtx

It can be used from multiple threads now.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: reduce the use of obj_ctx
Yehuda Sadeh [Mon, 5 Oct 2015 23:31:13 +0000 (16:31 -0700)]
rgw: reduce the use of obj_ctx

Should really get rid of all the obj_ctx use, unless it's really needed. It's
not thread safe.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: revive io window
Yehuda Sadeh [Mon, 5 Oct 2015 16:31:53 +0000 (09:31 -0700)]
rgw: revive io window

and several other fixes. Don't send unbounded number of IO requests,
send back http related errors (that didn't have a specific http status).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync, spawn sync on all shards
Yehuda Sadeh [Fri, 2 Oct 2015 22:29:57 +0000 (15:29 -0700)]
rgw: data sync, spawn sync on all shards

full sync should work now

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move top level data sync function into coroutine
Yehuda Sadeh [Fri, 2 Oct 2015 20:20:47 +0000 (13:20 -0700)]
rgw: move top level data sync function into coroutine

So that it can be called from a coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync work
Yehuda Sadeh [Fri, 2 Oct 2015 01:57:02 +0000 (18:57 -0700)]
rgw: data sync work

Instead of just keeping map of bucket instances, keep map of all the shards.
Also prepare the CRs that will call into the bucket sync.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: multiple fixes related to coroutines draining
Yehuda Sadeh [Tue, 29 Sep 2015 23:39:25 +0000 (16:39 -0700)]
rgw: multiple fixes related to coroutines draining

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoRevert "rgw: simplify unblocked by stack state change"
Yehuda Sadeh [Tue, 29 Sep 2015 21:45:52 +0000 (14:45 -0700)]
Revert "rgw: simplify unblocked by stack state change"

This reverts commit 8509ef5034818e163bebc8fd2de039a96b4a8f1a.

9 years agorgw: clean up child draining a bit
Yehuda Sadeh [Tue, 29 Sep 2015 21:24:28 +0000 (14:24 -0700)]
rgw: clean up child draining a bit

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: simplify unblocked by stack state change
Yehuda Sadeh [Tue, 29 Sep 2015 18:33:21 +0000 (11:33 -0700)]
rgw: simplify unblocked by stack state change

If blocked by another stack that is finished, just schedule, not waiting
on IO.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: finish execution when done with bucket sync
Yehuda Sadeh [Mon, 28 Sep 2015 23:56:24 +0000 (16:56 -0700)]
rgw: finish execution when done with bucket sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add RGWCoroutine::wait_for_child()
Yehuda Sadeh [Mon, 28 Sep 2015 23:27:11 +0000 (16:27 -0700)]
rgw: add RGWCoroutine::wait_for_child()

Will yield until one of the spawned stacks finished execution.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: no need to yield while collecting
Yehuda Sadeh [Mon, 28 Sep 2015 21:25:44 +0000 (14:25 -0700)]
rgw: no need to yield while collecting

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix pending operations accounting
Yehuda Sadeh [Mon, 28 Sep 2015 21:19:00 +0000 (14:19 -0700)]
rgw: fix pending operations accounting

create RGWCoroutine::num_pending() to get the number of
pending spawned coroutines.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: collect spawned requests before completing coroutine
Yehuda Sadeh [Mon, 28 Sep 2015 19:50:42 +0000 (12:50 -0700)]
rgw: collect spawned requests before completing coroutine

Need to finish all processing before we return

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: url_encode http params in requests that we send
Yehuda Sadeh [Mon, 28 Sep 2015 19:49:30 +0000 (12:49 -0700)]
rgw: url_encode http params in requests that we send

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: skeleton for bucket index incremental sync
Yehuda Sadeh [Thu, 24 Sep 2015 23:52:12 +0000 (16:52 -0700)]
rgw: skeleton for bucket index incremental sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add rgw_bi_log_entry::decode_json
Yehuda Sadeh [Thu, 24 Sep 2015 23:51:37 +0000 (16:51 -0700)]
rgw: add rgw_bi_log_entry::decode_json

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: init shard_id param for bucket listing
Yehuda Sadeh [Thu, 24 Sep 2015 21:56:52 +0000 (14:56 -0700)]
rgw: init shard_id param for bucket listing

shard_id can now be specified in the bucket instance http param

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix shard_id use
Yehuda Sadeh [Thu, 24 Sep 2015 21:26:42 +0000 (14:26 -0700)]
rgw: fix shard_id use

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move bucket shard full sync to its own coroutine
Yehuda Sadeh [Thu, 24 Sep 2015 20:54:58 +0000 (13:54 -0700)]
rgw: move bucket shard full sync to its own coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: switch sync state when done with full bucket sync
Yehuda Sadeh [Thu, 24 Sep 2015 20:03:38 +0000 (13:03 -0700)]
rgw: switch sync state when done with full bucket sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix iteration over bucket entries in full sync
Yehuda Sadeh [Thu, 24 Sep 2015 19:51:51 +0000 (12:51 -0700)]
rgw: fix iteration over bucket entries in full sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: silence some verbose logs
Yehuda Sadeh [Thu, 24 Sep 2015 18:14:05 +0000 (11:14 -0700)]
rgw: silence some verbose logs

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoradosgw-admin: bucket sync commands don't require bucket id
Yehuda Sadeh [Thu, 24 Sep 2015 17:54:44 +0000 (10:54 -0700)]
radosgw-admin: bucket sync commands don't require bucket id

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep bucket sync markers in object attrs
Yehuda Sadeh [Wed, 23 Sep 2015 23:52:57 +0000 (16:52 -0700)]
rgw: keep bucket sync markers in object attrs

This allows to set the status separately for each of the
different stages (full, incremental), while allowing also
to set the attributes atomically.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: can read attrs when reading system obj
Yehuda Sadeh [Wed, 23 Sep 2015 19:19:27 +0000 (12:19 -0700)]
rgw: can read attrs when reading system obj

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: window of full sync operations per bucket
Yehuda Sadeh [Mon, 21 Sep 2015 23:34:25 +0000 (16:34 -0700)]
rgw: window of full sync operations per bucket

also store marker periodically, reuse marker logic from md sync.
Marker still needs some work.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: api adjustment following rebase
Yehuda Sadeh [Mon, 21 Sep 2015 18:28:55 +0000 (11:28 -0700)]
rgw: api adjustment following rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix identification of canceled operation
Yehuda Sadeh [Sat, 19 Sep 2015 00:34:51 +0000 (17:34 -0700)]
rgw: fix identification of canceled operation

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: bucket sync fetches remote objects
Yehuda Sadeh [Fri, 18 Sep 2015 23:35:55 +0000 (16:35 -0700)]
rgw: bucket sync fetches remote objects

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: bucket sync, send marker when listing bucket shard
Yehuda Sadeh [Fri, 18 Sep 2015 17:50:24 +0000 (10:50 -0700)]
rgw: bucket sync, send marker when listing bucket shard

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: extend list bucket versions api
Yehuda Sadeh [Thu, 17 Sep 2015 23:51:36 +0000 (16:51 -0700)]
rgw: extend list bucket versions api

System user can now provide 'objs-container=true' in conjuction
with 'format=json' so that response is json and entries are
encoded correctly as array.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix signing for generated requests
Yehuda Sadeh [Thu, 17 Sep 2015 22:45:09 +0000 (15:45 -0700)]
rgw: fix signing for generated requests

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: list bucket instance shard entries for data sync
Yehuda Sadeh [Thu, 17 Sep 2015 22:01:17 +0000 (15:01 -0700)]
rgw: list bucket instance shard entries for data sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read bucket sync status
Yehuda Sadeh [Wed, 16 Sep 2015 23:26:33 +0000 (16:26 -0700)]
rgw: read bucket sync status

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: per-bucket instance shard state
Yehuda Sadeh [Wed, 16 Sep 2015 22:47:54 +0000 (15:47 -0700)]
rgw: per-bucket instance shard state

add 'radosgw-admin bucket sync init' command

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initial work on data sync run
Yehuda Sadeh [Wed, 16 Sep 2015 00:03:23 +0000 (17:03 -0700)]
rgw: initial work on data sync run

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: implement data sync init
Yehuda Sadeh [Tue, 15 Sep 2015 22:18:04 +0000 (15:18 -0700)]
rgw-admin: implement data sync init

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: data sync status command
Yehuda Sadeh [Tue, 15 Sep 2015 21:51:50 +0000 (14:51 -0700)]
rgw-admin: data sync status command

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initial data sync work
Yehuda Sadeh [Tue, 15 Sep 2015 21:37:46 +0000 (14:37 -0700)]
rgw: initial data sync work

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: skeleton for data sync commands
Yehuda Sadeh [Tue, 15 Sep 2015 20:57:49 +0000 (13:57 -0700)]
rgw-admin: skeleton for data sync commands

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoradosgw-admin: switch mdlog sync commands to metadata sync
Yehuda Sadeh [Tue, 15 Sep 2015 20:51:08 +0000 (13:51 -0700)]
radosgw-admin: switch mdlog sync commands to metadata sync

radosgw-admin mdlog sync init -> metadata sync init
etc.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agobuild: add cls_timeindex_client to DENCODER_DEPS
Casey Bodley [Fri, 18 Sep 2015 15:40:15 +0000 (11:40 -0400)]
build: add cls_timeindex_client to DENCODER_DEPS

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: propagate rgwx-bucket-instance for copying objects
Yehuda Sadeh [Wed, 6 May 2015 23:03:46 +0000 (16:03 -0700)]
rgw: propagate rgwx-bucket-instance for copying objects

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix time parsing for delete precondition
Yehuda Sadeh [Thu, 9 Apr 2015 18:41:10 +0000 (11:41 -0700)]
rgw: fix time parsing for delete precondition

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add no-precondition-error http param for object delete
Yehuda Sadeh [Thu, 2 Apr 2015 00:22:04 +0000 (17:22 -0700)]
rgw: add no-precondition-error http param for object delete

In case we don't want to get an error response when a precondition
failed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add mtime check to object removal if needed
Yehuda Sadeh [Thu, 2 Apr 2015 00:07:03 +0000 (17:07 -0700)]
rgw: add mtime check to object removal if needed

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agocls/rgw: add an objclass method to check obj mtime
Yehuda Sadeh [Wed, 1 Apr 2015 22:56:49 +0000 (15:56 -0700)]
cls/rgw: add an objclass method to check obj mtime

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add DELETE_IF_UNMODIFIED_SINCE header to obj delete
Yehuda Sadeh [Wed, 1 Apr 2015 21:57:19 +0000 (14:57 -0700)]
rgw: add DELETE_IF_UNMODIFIED_SINCE header to obj delete

Will delete object only if not modified after the specified time. Still
need to close a race where object is modified after the check.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more api adjustments
Yehuda Sadeh [Wed, 10 Feb 2016 22:53:49 +0000 (14:53 -0800)]
rgw: more api adjustments

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: adjust calls
Yehuda Sadeh [Wed, 10 Feb 2016 22:38:40 +0000 (14:38 -0800)]
rgw: adjust calls

as part of  a rebase work

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: identify racing writes when using copy-if-newer
Yehuda Sadeh [Thu, 26 Mar 2015 00:35:40 +0000 (17:35 -0700)]
rgw: identify racing writes when using copy-if-newer

When copying an object from a different zone, and copy-if-newer is
specified, if the final meta write is canceled check whether the
destinatioin that was created is actually newer than our mtime,
otherwise retry.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: translate http error 304 to appropriate status
Yehuda Sadeh [Wed, 25 Mar 2015 05:48:03 +0000 (22:48 -0700)]
rgw: translate http error 304 to appropriate status

So that we can return the appropriate response on a conditioinal multi
zone copy operation.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix if-modified-since boundary
Yehuda Sadeh [Wed, 25 Mar 2015 03:24:55 +0000 (20:24 -0700)]
rgw: fix if-modified-since boundary

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add rgwx-copy-if-newer http header
Yehuda Sadeh [Wed, 25 Mar 2015 03:16:02 +0000 (20:16 -0700)]
rgw: add rgwx-copy-if-newer http header

Similar to IF_MOD_SINCE, but does not take a time argument, and should
protected against races (not there yet).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: make rgw_user::empty() const
Yehuda Sadeh [Wed, 10 Feb 2016 19:41:58 +0000 (11:41 -0800)]
rgw: make rgw_user::empty() const

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: access zone.name, zonegroup_name through accessor
Yehuda Sadeh [Wed, 10 Feb 2016 19:37:38 +0000 (11:37 -0800)]
rgw: access zone.name, zonegroup_name through accessor

fix as part of a rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: dump internal object tag when system user lists bucket
Yehuda Sadeh [Tue, 10 Mar 2015 22:47:38 +0000 (15:47 -0700)]
rgw: dump internal object tag when system user lists bucket

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: system user can list bucket shard
Yehuda Sadeh [Tue, 10 Mar 2015 00:16:58 +0000 (17:16 -0700)]
rgw: system user can list bucket shard

By setting the HTTP-Rgwx-Shard-Id header to the shard id.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: get_bucket_stats() returns a plain marker if shard specified
Yehuda Sadeh [Sat, 7 Mar 2015 01:22:33 +0000 (17:22 -0800)]
rgw: get_bucket_stats() returns a plain marker if shard specified

E.g, will return 00001234 vs. 2#00001234 if shard 2 specified.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: bilog info can get shard id
Yehuda Sadeh [Sat, 7 Mar 2015 00:40:07 +0000 (16:40 -0800)]
rgw: bilog info can get shard id

We would like to be able to get bilog info by shard if needed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix uninitialized variable
Yehuda Sadeh [Tue, 15 Sep 2015 18:19:02 +0000 (11:19 -0700)]
rgw: fix uninitialized variable

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move more code
Yehuda Sadeh [Tue, 15 Sep 2015 00:09:58 +0000 (17:09 -0700)]
rgw: move more code

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: trivial fix
Yehuda Sadeh [Tue, 15 Sep 2015 00:06:19 +0000 (17:06 -0700)]
rgw: trivial fix

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: use internal wait instead of special coroutine
Yehuda Sadeh [Tue, 15 Sep 2015 00:03:01 +0000 (17:03 -0700)]
rgw: use internal wait instead of special coroutine

Instead of using a special coroutine that spawns a separate thread
and waits on a condition, use the internal coroutine stack wait.
This is useful since it since we limit the number of IO threads
we spawn.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutine stack wait util
Yehuda Sadeh [Mon, 14 Sep 2015 23:37:36 +0000 (16:37 -0700)]
rgw: coroutine stack wait util

Instead of using a separate coroutine for waiting on
a condition.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move more code around
Yehuda Sadeh [Mon, 14 Sep 2015 22:02:06 +0000 (15:02 -0700)]
rgw: move more code around

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move code around
Yehuda Sadeh [Mon, 14 Sep 2015 21:19:34 +0000 (14:19 -0700)]
rgw: move code around

move code from rgw_sync.cc to rgw_cr_rados.{h,cc}

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rearrange full metadata sync order
Yehuda Sadeh [Fri, 11 Sep 2015 23:21:40 +0000 (16:21 -0700)]
rgw: rearrange full metadata sync order

Users need to exist before their buckets, better have bucket instances
before bucket entry points

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: trivial fixes
Yehuda Sadeh [Fri, 11 Sep 2015 15:45:54 +0000 (08:45 -0700)]
rgw: trivial fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix shutdown
Yehuda Sadeh [Fri, 11 Sep 2015 00:53:01 +0000 (17:53 -0700)]
rgw: fix shutdown

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: http client req handling fixes
Yehuda Sadeh [Fri, 11 Sep 2015 00:31:03 +0000 (17:31 -0700)]
rgw: http client req handling fixes

The error buffer for the async requests was on the stack, and not
on the request structure. Some other use after free and locking fixes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: wake up appropriate shard sync handler
Yehuda Sadeh [Wed, 9 Sep 2015 01:41:43 +0000 (18:41 -0700)]
rgw: wake up appropriate shard sync handler

When receiving notification about modified shard, wake up the appropriate handler

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: a few sync thread init/finalization fixes
Yehuda Sadeh [Tue, 8 Sep 2015 22:58:38 +0000 (15:58 -0700)]
rgw: a few sync thread init/finalization fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: run and stop sync thread
Yehuda Sadeh [Tue, 8 Sep 2015 22:24:16 +0000 (15:24 -0700)]
rgw: run and stop sync thread

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: simple thread base class
Yehuda Sadeh [Tue, 8 Sep 2015 21:39:09 +0000 (14:39 -0700)]
rgw: simple thread base class

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: decode mdlog notification shards
Yehuda Sadeh [Sat, 5 Sep 2015 00:23:21 +0000 (17:23 -0700)]
rgw: decode mdlog notification shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: send mdlog changes notifications to zones
Yehuda Sadeh [Sat, 5 Sep 2015 00:12:18 +0000 (17:12 -0700)]
rgw: send mdlog changes notifications to zones

Will probably need to rework this, as it is now zones may interfere
with each other which is not optimal.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add simple POST requests interfaces
Yehuda Sadeh [Sat, 5 Sep 2015 00:11:52 +0000 (17:11 -0700)]
rgw: add simple POST requests interfaces

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoceph_json: add json encoder / decoder for std::set
Yehuda Sadeh [Sat, 5 Sep 2015 00:11:05 +0000 (17:11 -0700)]
ceph_json: add json encoder / decoder for std::set

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: periodical thread that tracks mdlog changes
Yehuda Sadeh [Thu, 3 Sep 2015 23:02:10 +0000 (16:02 -0700)]
rgw: periodical thread that tracks mdlog changes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: handle mdlog post request
Yehuda Sadeh [Thu, 3 Sep 2015 22:20:24 +0000 (15:20 -0700)]
rgw: handle mdlog post request

with 'notify' subresource. Will be used later for handling notifications
about modified mdlog shards.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>