From: Casey Bodley Date: Wed, 29 Mar 2023 14:57:04 +0000 (-0400) Subject: rgw: set init_check_compat when bucket sync status doesn't exist X-Git-Tag: v19.0.0~1462^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=00f623e28960300babae52ed78e5a27b3b235c64;p=ceph-ci.git rgw: set init_check_compat when bucket sync status doesn't exist Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_data_sync.cc b/src/rgw/driver/rados/rgw_data_sync.cc index fd2ac091dab..b4c52614f7e 100644 --- a/src/rgw/driver/rados/rgw_data_sync.cc +++ b/src/rgw/driver/rados/rgw_data_sync.cc @@ -5692,6 +5692,12 @@ int RGWSyncBucketCR::operate(const DoutPrefixProvider *dpp) yield call(new ReadCR(dpp, env->driver, status_obj, &bucket_status, false, &objv)); if (retcode == -ENOENT) { + // if the full sync status object didn't exist yet, run the backward + // compatability logic in InitBucketFullSyncStatusCR below. if it did + // exist, a `bucket sync init` probably requested its re-initialization, + // and shouldn't try to resume incremental sync + init_check_compat = true; + // use exclusive create to set state=Init objv.generate_new_write_ver(cct); yield call(new WriteCR(dpp, env->driver, status_obj, bucket_status, &objv, true));