From dbb934056b6a8a9505ab327e46079182c00ec8ee Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 19 Feb 2016 15:24:00 -0500 Subject: [PATCH] rgw: only write meta sync shard markers if can_adjust_marker Signed-off-by: Casey Bodley --- src/rgw/rgw_sync.cc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rgw/rgw_sync.cc b/src/rgw/rgw_sync.cc index ca7b9e57f4dc8..2fe72de8f1a0e 100644 --- a/src/rgw/rgw_sync.cc +++ b/src/rgw/rgw_sync.cc @@ -1286,18 +1286,18 @@ public: } if (!lost_lock) { - yield { - /* update marker to reflect we're done with full sync */ - 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(); - } - // XXX: why write the marker if !can_adjust_marker? + /* 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(); + RGWRados *store = sync_env->store; ldout(sync_env->cct, 0) << *this << ": saving marker pos=" << sync_marker.marker << dendl; - call(new RGWSimpleRadosWriteCR(sync_env->async_rados, store, pool, - sync_env->shard_obj_name(shard_id), sync_marker)); + using WriteMarkerCR = RGWSimpleRadosWriteCR; + call(new WriteMarkerCR(sync_env->async_rados, 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; -- 2.39.5