auto sysobj = obj_ctx.get_obj(obj);
r = sysobj.wop()
.set_objv_tracker(&objv_tracker)
- .write_attr(RGW_ATTR_ACL, aclbl);
+ .write_attr(RGW_ATTR_ACL, aclbl, null_yield);
if (r < 0) {
return r;
}
auto inst_sysobj = obj_ctx.get_obj(obj_bucket_instance);
r = inst_sysobj.wop()
.set_objv_tracker(&objv_tracker)
- .write_attr(RGW_ATTR_ACL, aclbl);
+ .write_attr(RGW_ATTR_ACL, aclbl, null_yield);
if (r < 0) {
return r;
}
.set_objv_tracker(&objv_tracker)
.set_attrs(pattrs)
.set_raw_attrs(raw_attrs)
- .read(&bl);
+ .read(&bl, null_yield);
}
RGWAsyncGetSystemObj::RGWAsyncGetSystemObj(RGWCoroutine *caller, RGWAioCompletionNotifier *cn, RGWSI_SysObj *_svc,
return sysobj.wop()
.set_objv_tracker(&objv_tracker)
.set_exclusive(exclusive)
- .write_data(bl);
+ .write_data(bl, null_yield);
}
RGWAsyncPutSystemObj::RGWAsyncPutSystemObj(RGWCoroutine *caller, RGWAioCompletionNotifier *cn,
.set_objv_tracker(&objv_tracker)
.set_exclusive(false)
.set_attrs(attrs)
- .write_attrs();
+ .write_attrs(null_yield);
}
RGWAsyncPutSystemObjAttrs::RGWAsyncPutSystemObjAttrs(RGWCoroutine *caller, RGWAioCompletionNotifier *cn,
/* bad history object, remove it */
rgw_raw_obj obj(pool, oid);
auto sysobj = obj_ctx.get_obj(obj);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(store->ctx(), 0) << "ERROR: meta history is empty, but cannot remove it (" << cpp_strerror(-ret) << ")" << dendl;
return ret;
rgw_raw_obj obj(heap_pool, oid);
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- int ret = sysobj.wop().remove();
+ int ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(store->ctx(), 0) << "ERROR: sysobj.wop().remove() oid=" << oid << " returned ret=" << ret << dendl;
return ret;
auto sysobj = obj_ctx.get_obj(obj);
ret = sysobj.wop()
.set_objv_tracker(objv_tracker)
- .remove();
+ .remove(null_yield);
/* cascading ret into post_modify() */
ret = post_modify(handler, section, key, log_data, objv_tracker, ret);
snprintf(buf, sizeof(buf), "%08d", marker);
p.append(buf);
- ret = sysobj.omap().get_vals(p, num_parts + 1, &parts_map, nullptr);
+ ret = sysobj.omap().get_vals(p, num_parts + 1, &parts_map,
+ nullptr, null_yield);
} else {
- ret = sysobj.omap().get_all(&parts_map);
+ ret = sysobj.omap().get_all(&parts_map, null_yield);
}
if (ret < 0)
return ret;
r = sysobj.omap()
.set_must_exist(true)
- .set(p, bl);
+ .set(p, bl, null_yield);
if (r < 0) {
return r;
}
.set_exclusive(exclusive)
.set_mtime(set_mtime)
.set_attrs(*pattrs)
- .write(data);
+ .write(data, null_yield);
if (ret == -ENOENT) {
ret = rgwstore->create_pool(pool);
.set_exclusive(exclusive)
.set_mtime(set_mtime)
.set_attrs(*pattrs)
- .write(data);
+ .write(data, null_yield);
}
}
int ret = rop.set_attrs(pattrs)
.set_last_mod(pmtime)
.set_objv_tracker(objv_tracker)
- .stat();
+ .stat(null_yield);
if (ret < 0)
return ret;
ret = rop.set_cache_info(cache_info)
.set_refresh_version(refresh_version)
- .read(&bl);
+ .read(&bl, null_yield);
if (ret == -ECANCELED) {
/* raced, restart */
if (!original_readv.empty()) {
rgw_raw_obj obj(pool, oid);
return sysobj.wop()
.set_objv_tracker(objv_tracker)
- .remove();
+ .remove(null_yield);
}
thread_local bool is_asio_thread = false;
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(raw_obj);
- op_ret = sysobj.omap().set(key, bl);
+ op_ret = sysobj.omap().set(key, bl, null_yield);
if (op_ret < 0)
{
ldout(s->cct, 0) << "ERROR: failed to omap_set() op_ret = " << op_ret << dendl;
return src.rop()
.set_attrs(&attrs)
.set_objv_tracker(objv_tracker)
- .stat();
+ .stat(null_yield);
}
int rgw_remove_key_index(RGWRados *store, RGWAccessKey& access_key)
rgw_raw_obj obj(store->svc.zone->get_zone_params().user_keys_pool, access_key.id);
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- return sysobj.wop().remove();
+ return sysobj.wop().remove(null_yield);
}
int rgw_remove_uid_index(RGWRados *store, rgw_user& uid)
rgw_raw_obj obj(store->svc.zone->get_zone_params().user_email_pool, email);
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- return sysobj.wop().remove();
+ return sysobj.wop().remove(null_yield);
}
int rgw_remove_swift_name_index(RGWRados *store, string& swift_name)
rgw_raw_obj obj(store->svc.zone->get_zone_params().user_swift_pool, swift_name);
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- return sysobj.wop().remove();
+ return sysobj.wop().remove(null_yield);
}
/**
ldout(store->ctx(), 10) << "removing user buckets index" << dendl;
auto obj_ctx = store->svc.sysobj->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(uid_bucks);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0 && ret != -ENOENT) {
ldout(store->ctx(), 0) << "ERROR: could not remove " << info.user_id << ":" << uid_bucks << ", should be fixed (err=" << ret << ")" << dendl;
return ret;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0)
return ret;
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
int ret = sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
if (ret < 0)
return ret;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0) {
return ret;
}
string oid = get_default_oid(old_format);
rgw_raw_obj default_named_obj(pool, oid);
auto sysobj = sysobj_svc->get_obj(obj_ctx, default_named_obj);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "Error delete default obj name " << name << ": " << cpp_strerror(-ret) << dendl;
return ret;
string oid = get_names_oid_prefix() + name;
rgw_raw_obj object_name(pool, oid);
auto sysobj = sysobj_svc->get_obj(obj_ctx, object_name);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "Error delete obj name " << name << ": " << cpp_strerror(-ret) << dendl;
return ret;
rgw_raw_obj object_id(pool, oid);
auto sysobj = sysobj_svc->get_obj(obj_ctx, object_id);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "Error delete object id " << id << ": " << cpp_strerror(-ret) << dendl;
}
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
return sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
}
int RGWSystemMetaObj::rename(const string& new_name)
rgw_raw_obj old_name_obj(pool, oid);
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, old_name_obj);
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "Error delete old obj name " << old_name << ": " << cpp_strerror(-ret) << dendl;
return ret;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0) {
ldout(cct, 0) << "failed reading obj info from " << pool << ":" << oid << ": " << cpp_strerror(-ret) << dendl;
return ret;
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
return sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
}
int RGWSystemMetaObj::write(bool exclusive)
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
return sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
}
int RGWRealm::delete_control()
auto obj = rgw_raw_obj{pool, get_control_oid()};
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, obj);
- return sysobj.wop().remove();
+ return sysobj.wop().remove(null_yield);
}
rgw_pool RGWRealm::get_pool(CephContext *cct) const
rgw_pool pool{get_pool(cct)};
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, get_control_oid()});
- int ret = sysobj.wn().notify(bl, 0, nullptr);
+ int ret = sysobj.wn().notify(bl, 0, nullptr, null_yield);
if (ret < 0) {
return ret;
}
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0) {
return ret;
}
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
return sysobj.wop()
.set_exclusive(false)
- .write(bl);
+ .write(bl, null_yield);
}
int RGWPeriod::init(CephContext *_cct, RGWSI_SysObj *_sysobj_svc, const string& period_realm_id,
bufferlist bl;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, oid});
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0) {
ldout(cct, 1) << "error read_lastest_epoch " << pool << ":" << oid << dendl;
return ret;
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
return sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
}
int RGWPeriod::update_latest_epoch(epoch_t epoch)
rgw_raw_obj oid{pool, p.get_period_oid()};
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, oid);
- int ret = sysobj.wop().remove();
+ int ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "WARNING: failed to delete period object " << oid
<< ": " << cpp_strerror(-ret) << dendl;
rgw_raw_obj oid{pool, get_period_oid_prefix() + get_latest_epoch_oid()};
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, oid);
- int ret = sysobj.wop().remove();
+ int ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "WARNING: failed to delete period object " << oid
<< ": " << cpp_strerror(-ret) << dendl;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj{pool, get_period_oid()});
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0) {
ldout(cct, 0) << "failed reading obj info from " << pool << ":" << get_period_oid() << ": " << cpp_strerror(-ret) << dendl;
return ret;
auto sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
return sysobj.wop()
.set_exclusive(exclusive)
- .write(bl);
+ .write(bl, null_yield);
}
rgw_pool RGWPeriod::get_pool(CephContext *cct) const
rgw_raw_obj obj(domain_root, avail_pools);
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = sysobj_svc->get_obj(obj_ctx, obj);
- int r = sysobj.rop().stat();
+ int r = sysobj.rop().stat(null_yield);
if (r < 0) {
ldout(cct, 10) << "couldn't find old data placement pools config, setting up new ones for the zone" << dendl;
/* a new system, let's set new placement info */
RGWSysObjectCtx obj_ctx = sysobj_svc->init_obj_ctx();
RGWSysObj sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0 && ret != -ENOENT) {
ldout(cct, 0) << __func__ << " failed to read converted: ret "<< ret << " " << cpp_strerror(-ret)
<< dendl;
/* mark as converted */
ret = sysobj.wop()
.set_exclusive(true)
- .write(bl);
+ .write(bl, null_yield);
if (ret < 0 ) {
ldout(cct, 0) << __func__ << " failed to mark cluster as converted: ret "<< ret << " " << cpp_strerror(-ret)
<< dendl;
RGWSysObjectCtx obj_ctx = sysobj_svc->init_obj_ctx();
RGWSysObj sysobj = sysobj_svc->get_obj(obj_ctx, rgw_raw_obj(pool, oid));
- int ret = sysobj.rop().read(&bl);
+ int ret = sysobj.rop().read(&bl, null_yield);
if (ret < 0 && ret != -ENOENT) {
return ret;
} else if (ret == -ENOENT) {
current_period->set_bucket_quota(zonegroupmap.bucket_quota);
// remove the region_map so we don't try to convert again
- ret = sysobj.wop().remove();
+ ret = sysobj.wop().remove(null_yield);
if (ret < 0) {
ldout(cct, 0) << "Error could not remove " << sysobj.get_obj()
<< " after upgrading to zonegroup map: " << cpp_strerror(ret) << dendl;
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- int ret = sysobj.rop().read(&map_bl);
+ int ret = sysobj.rop().read(&map_bl, null_yield);
if (ret < 0) {
goto read_omap;
}
read_omap:
if (m.empty()) {
- ret = sysobj.omap().get_all(&m);
+ ret = sysobj.omap().get_all(&m, null_yield);
write_map = true;
}
ret = rados_svc->pool().create(pools, &retcodes);
if (ret < 0)
return ret;
- ret = sysobj.omap().set(s, bl);
+ ret = sysobj.omap().set(s, bl, null_yield);
if (ret < 0)
return ret;
m[s] = bl;
if (write_map) {
bufferlist new_bl;
encode(m, new_bl);
- ret = sysobj.wop().write(new_bl);
+ ret = sysobj.wop().write(new_bl, null_yield);
if (ret < 0) {
ldout(cct, 0) << "WARNING: could not save avail pools map info ret=" << ret << dendl;
}
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- int ret = sysobj.omap().get_all(&m);
+ int ret = sysobj.omap().get_all(&m, null_yield);
if (ret < 0)
return ret;
bufferlist new_bl;
encode(m, new_bl);
- ret = sysobj.wop().write(new_bl);
+ ret = sysobj.wop().write(new_bl, null_yield);
if (ret < 0) {
ldout(cct, 0) << "WARNING: could not save avail pools map info ret=" << ret << dendl;
}
auto sysobj = obj_ctx.get_obj(obj);
bufferlist empty_bl;
- ret = sysobj.omap().set(new_pool.to_str(), empty_bl);
+ ret = sysobj.omap().set(new_pool.to_str(), empty_bl, null_yield);
// don't care about return value
update_placement_map();
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- int ret = sysobj.omap().del(old_pool.to_str());
+ int ret = sysobj.omap().del(old_pool.to_str(), null_yield);
// don't care about return value
update_placement_map();
rgw_raw_obj obj(zone_params->domain_root, avail_pools);
auto obj_ctx = sysobj_svc->init_obj_ctx();
auto sysobj = obj_ctx.get_obj(obj);
- int ret = sysobj.omap().get_all(&m);
+ int ret = sysobj.omap().get_all(&m, null_yield);
if (ret < 0)
return ret;