From: Yehuda Sadeh Date: Mon, 14 Mar 2016 01:10:48 +0000 (-0700) Subject: rgw: data sync shard controller re-read sync status X-Git-Tag: v10.1.0~72^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=89bf43cf476898025928bbd0e610acee19b34310;p=ceph.git rgw: data sync shard controller re-read sync status We re-read it when the shard cr is done, before calling a new one. Otherwise the sync status we send is incorrect. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index db1eb196ae55..35798b4c780c 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1136,6 +1136,13 @@ public: return new RGWDataSyncShardCR(sync_env, pool, shard_id, sync_marker, backoff_ptr()); } + RGWCoroutine *alloc_finisher_cr() { + RGWRados *store = sync_env->store; + RGWObjectCtx obj_ctx(store, NULL); + return new RGWSimpleRadosReadCR(sync_env->async_rados, store, obj_ctx, store->get_zone_params().log_pool, + RGWDataSyncStatusManager::shard_obj_name(sync_env->source_zone, shard_id), &sync_marker); + } + void append_modified_shards(set& keys) { Mutex::Locker l(cr_lock());