summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_period_puller.cc
diff options
context:
space:
mode:
authorAdam C. Emerson <aemerson@redhat.com>2020-11-11 15:36:23 +0100
committerAdam C. Emerson <aemerson@redhat.com>2020-11-13 20:35:15 +0100
commit5760fb630e011dcbce2f7adcc30c83539af07373 (patch)
tree0148a558e3568b594b4f13ca159592e32ca6245d /src/rgw/rgw_period_puller.cc
parentrgw: No null_yield in RGWOp (diff)
downloadceph-5760fb630e011dcbce2f7adcc30c83539af07373.tar.xz
ceph-5760fb630e011dcbce2f7adcc30c83539af07373.zip
rgw: No null_yield in rgw_zone
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Diffstat (limited to 'src/rgw/rgw_period_puller.cc')
-rw-r--r--src/rgw/rgw_period_puller.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rgw/rgw_period_puller.cc b/src/rgw/rgw_period_puller.cc
index 65e1471e493..ebc4a0dc09b 100644
--- a/src/rgw/rgw_period_puller.cc
+++ b/src/rgw/rgw_period_puller.cc
@@ -63,12 +63,13 @@ int pull_period(RGWRESTConn* conn, const std::string& period_id,
} // anonymous namespace
-int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period)
+int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period,
+ optional_yield y)
{
// try to read the period from rados
period.set_id(period_id);
period.set_epoch(0);
- int r = period.init(cct, svc.sysobj);
+ int r = period.init(cct, svc.sysobj, y);
if (r < 0) {
if (svc.zone->is_meta_master()) {
// can't pull if we're the master
@@ -86,7 +87,7 @@ int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period)
return r;
}
// write the period to rados
- r = period.store_info(true);
+ r = period.store_info(true, y);
if (r == -EEXIST) {
r = 0;
} else if (r < 0) {
@@ -94,7 +95,7 @@ int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period)
return r;
}
// update latest epoch
- r = period.update_latest_epoch(period.get_epoch());
+ r = period.update_latest_epoch(period.get_epoch(), y);
if (r == -EEXIST) {
// already have this epoch (or a more recent one)
return 0;
@@ -106,7 +107,7 @@ int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period)
}
// reflect period objects if this is the latest version
if (svc.zone->get_realm().get_current_period() == period_id) {
- r = period.reflect();
+ r = period.reflect(y);
if (r < 0) {
return r;
}