From 6d6cdc70b1264178e164357a112a091dd03c4024 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 24 Sep 2015 13:03:38 -0700 Subject: [PATCH] rgw: switch sync state when done with full bucket sync Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_data_sync.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 3e65a9bbf1d3a..fd66272fb6ca1 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1191,6 +1191,24 @@ int RGWRunBucketSyncCoroutine::operate() } yield; } + /* update sync state to incremental */ + yield { + sync_status.state = rgw_bucket_shard_sync_info::StateIncrementalSync; + map attrs; + sync_status.encode_state_attr(attrs); + string oid = RGWBucketSyncStatusManager::status_oid(source_zone, bucket_name, bucket_id, shard_id); + int ret = call(new RGWSimpleRadosWriteAttrsCR(async_rados, store, store->get_zone_params().log_pool, + oid, attrs)); + if (ret < 0) { + ldout(store->ctx(), 0) << "ERROR: failed to call RGWSimpleRadosWriteAttrsCR() oid=" << oid << dendl; + return set_state(RGWCoroutine_Error, ret); + } + } + if (retcode < 0) { + ldout(store->ctx(), 0) << "ERROR: failed to set sync state on bucket " << bucket_name << ":" << bucket_id << ":" << shard_id + << " retcode=" << retcode << dendl; + return set_state(RGWCoroutine_Error, retcode); + } } } -- 2.39.5