#include "common/BackTrace.h"
#include "common/ceph_time.h"
+#include "rgw_asio_thread.h"
#include "rgw_cksum.h"
#include "rgw_sal.h"
#include "rgw_zone.h"
}
/* remove bucket index objects asynchronously by best effort */
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
(void) CLSRGWIssueBucketIndexClean(index_pool,
bucket_objs,
cct->_conf->rgw_bucket_index_max_aio)();
bucket_objs_ret.emplace(iter.first, rgw_cls_check_index_ret());
}
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
ret = CLSRGWIssueBucketCheck(index_pool, oids, bucket_objs_ret, cct->_conf->rgw_bucket_index_max_aio)();
if (ret < 0) {
return ret;
return r;
}
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueBucketRebuild(index_pool, bucket_objs, cct->_conf->rgw_bucket_index_max_aio)();
}
cpp_strerror(-r) << ")" << dendl;
return r;
}
+
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
r = CLSRGWIssueSetBucketResharding(index_pool, bucket_objs, entry, cct->_conf->rgw_bucket_index_max_aio)();
if (r < 0) {
ldpp_dout(dpp, 0) << "ERROR: " << __func__ <<
if (r < 0)
return r;
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueSetTagTimeout(index_pool, bucket_objs, cct->_conf->rgw_bucket_index_max_aio, timeout)();
}
auto& ioctx = index_pool;
std::map<int, rgw_cls_list_ret> shard_list_results;
cls_rgw_obj_key start_after_key(start_after.name, start_after.instance);
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
r = CLSRGWIssueBucketList(ioctx, start_after_key, prefix, delimiter,
num_entries_per_shard,
list_versions, shard_oids, shard_list_results,
return r;
}
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
r = CLSRGWIssueGetDirHeader(index_pool, oids, list_results, cct->_conf->rgw_bucket_index_max_aio)();
if (r < 0) {
ldpp_dout(dpp, 20) << "cls_bucket_head: CLSRGWIssueGetDirHeader() returned "
#include "svc_bilog_rados.h"
#include "svc_zone.h"
+#include "rgw_asio_thread.h"
#include "rgw_bucket.h"
#include "rgw_zone.h"
#include "rgw_datalog.h"
list_results.emplace(iter.first, rgw_cls_list_ret());
}
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
r = CLSRGWIssueGetDirHeader(index_pool, oids, list_results,
cct->_conf->rgw_bucket_index_max_aio)();
if (r < 0)
map<int, string> bucket_objs;
get_bucket_index_objects(dir_oid, idx_layout.layout.normal.num_shards, idx_layout.gen, &bucket_objs);
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
if (judge_support_logrecord) {
return CLSRGWIssueBucketIndexInit2(index_pool,
bucket_objs,
get_bucket_index_objects(dir_oid, idx_layout.layout.normal.num_shards,
idx_layout.gen, &bucket_objs);
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueBucketIndexClean(index_pool,
bucket_objs,
cct->_conf->rgw_bucket_index_max_aio)();
#include "svc_bilog_rados.h"
#include "svc_bi_rados.h"
+#include "rgw_asio_thread.h"
#include "cls/rgw/cls_rgw_client.h"
#define dout_subsys ceph_subsys_rgw
return r;
}
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueBILogTrim(index_pool, start_marker_mgr, end_marker_mgr, bucket_objs,
cct->_conf->rgw_bucket_index_max_aio)();
}
if (r < 0)
return r;
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueResyncBucketBILog(index_pool, bucket_objs, cct->_conf->rgw_bucket_index_max_aio)();
}
if (r < 0)
return r;
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
return CLSRGWIssueBucketBILogStop(index_pool, bucket_objs, cct->_conf->rgw_bucket_index_max_aio)();
}
if (r < 0)
return r;
+ maybe_warn_about_blocking(dpp); // TODO: use AioTrottle
r = CLSRGWIssueBILogList(index_pool, marker_mgr, max, oids, bi_log_lists, cct->_conf->rgw_bucket_index_max_aio)();
if (r < 0)
return r;