diff --git a/src/rgw/rgw_sync.cc b/src/rgw/rgw_sync.cc index f7b419be77f..e0506650f77 100644 --- a/src/rgw/rgw_sync.cc +++ b/src/rgw/rgw_sync.cc @@ -1459,18 +1459,18 @@ public: if (!lost_lock) { /* update marker to reflect we're done with full sync */ - if (can_adjust_marker) yield { - sync_marker.state = rgw_meta_sync_marker::IncrementalSync; - sync_marker.marker = sync_marker.next_step_marker; - sync_marker.next_step_marker.clear(); + if (can_adjust_marker) { + sync_marker.state = rgw_meta_sync_marker::IncrementalSync; + sync_marker.marker = sync_marker.next_step_marker; + sync_marker.next_step_marker.clear(); + ldout(sync_env->cct, 0) << *this << ": saving marker pos=" << sync_marker.marker << dendl; - RGWRados *store = sync_env->store; - ldout(sync_env->cct, 0) << *this << ": saving marker pos=" << sync_marker.marker << dendl; - using WriteMarkerCR = RGWSimpleRadosWriteCR; - call(new WriteMarkerCR(sync_env->async_rados, store, pool, - sync_env->shard_obj_name(shard_id), - sync_marker)); + using WriteMarkerCR = RGWSimpleRadosWriteCR; + yield call(new WriteMarkerCR(sync_env->async_rados, sync_env->store, + pool, sync_env->shard_obj_name(shard_id), + sync_marker)); } + if (retcode < 0) { ldout(sync_env->cct, 0) << "ERROR: failed to set sync marker: retcode=" << retcode << dendl; return retcode;