return 0;
}
-static int bucket_stats(rgw::sal::Driver* driver,
+static int bucket_stats(rgw::sal::Driver* driver, const rgw::SiteConfig& site,
const std::string& tenant_name, const std::string& bucket_name,
bool dump_restore_stats, Formatter* formatter,
const DoutPrefixProvider* dpp, optional_yield y) {
static int list_owner_bucket_info(const DoutPrefixProvider* dpp,
optional_yield y,
rgw::sal::Driver* driver,
+ const rgw::SiteConfig& site,
const rgw_owner& owner,
const std::string& tenant,
const std::string& marker,
for (const auto& ent : listing.buckets) {
if (show_stats) {
- bucket_stats(driver, tenant, ent.bucket.name, false, formatter, dpp, y);
+ bucket_stats(driver, site, tenant, ent.bucket.name, false, formatter, dpp, y);
} else {
formatter->dump_string("bucket", ent.bucket.name);
}
}
int RGWBucketAdminOp::info(rgw::sal::Driver* driver,
+ const rgw::SiteConfig& site,
RGWBucketAdminOpState& op_state,
RGWFormatterFlusher& flusher,
optional_yield y,
const bool show_stats = op_state.will_fetch_stats();
const rgw_user& user_id = op_state.get_user_id();
if (!bucket_name.empty()) {
- ret = bucket_stats(driver, user_id.tenant, bucket_name, op_state.restore_stats, formatter, dpp, y);
+ ret = bucket_stats(driver, site, user_id.tenant, bucket_name, op_state.restore_stats, formatter, dpp, y);
if (ret < 0) {
return ret;
}
if (!info.account_id.empty()) {
ldpp_dout(dpp, 1) << "Listing buckets in user account "
<< info.account_id << dendl;
- ret = list_owner_bucket_info(dpp, y, driver, info.account_id, uid.tenant,
+ ret = list_owner_bucket_info(dpp, y, driver, site, info.account_id, uid.tenant,
op_state.marker, op_state.max_entries, show_stats, flusher);
} else {
- ret = list_owner_bucket_info(dpp, y, driver, uid, uid.tenant,
+ ret = list_owner_bucket_info(dpp, y, driver, site, uid, uid.tenant,
op_state.marker, op_state.max_entries, show_stats, flusher);
}
if (ret < 0) {
return ret;
}
- ret = list_owner_bucket_info(dpp, y, driver, account_id, info.tenant,
+ ret = list_owner_bucket_info(dpp, y, driver, site, account_id, info.tenant,
op_state.marker, op_state.max_entries, show_stats, flusher);
if (ret < 0) {
return ret;
&truncated);
for (auto& bucket_name : buckets) {
if (show_stats) {
- bucket_stats(driver, user_id.tenant, bucket_name, op_state.restore_stats, formatter, dpp, y);
+ bucket_stats(driver, site, user_id.tenant, bucket_name, op_state.restore_stats, formatter, dpp, y);
} else {
formatter->dump_string("bucket", bucket_name);
}
static int remove_bucket(rgw::sal::Driver* driver, const rgw::SiteConfig& site, RGWBucketAdminOpState& op_state, optional_yield y,
const DoutPrefixProvider *dpp, bool bypass_gc = false, bool keep_index_consistent = true, bool forwarded_request = false);
static int remove_object(rgw::sal::Driver* driver, RGWBucketAdminOpState& op_state, const DoutPrefixProvider *dpp, optional_yield y);
- static int info(rgw::sal::Driver* driver, RGWBucketAdminOpState& op_state, RGWFormatterFlusher& flusher, optional_yield y, const DoutPrefixProvider *dpp);
+ static int info(rgw::sal::Driver* driver, const rgw::SiteConfig& site, RGWBucketAdminOpState& op_state, RGWFormatterFlusher& flusher, optional_yield y, const DoutPrefixProvider *dpp);
static int limit_check(rgw::sal::Driver* driver, RGWBucketAdminOpState& op_state,
const std::list<std::string>& user_ids,
RGWFormatterFlusher& flusher, optional_yield y,
bucket_op.max_entries = max_entries;
else
bucket_op.max_entries = 0; /* for backward compatibility */
- RGWBucketAdminOp::info(driver, bucket_op, stream_flusher, null_yield, dpp());
+ RGWBucketAdminOp::info(driver, *site, bucket_op, stream_flusher, null_yield, dpp());
} else {
int ret = init_bucket(tenant, bucket_name, bucket_id, &bucket);
if (ret < 0) {
bucket_op.max_entries = 0; /* for backward compatibility */
bucket_op.set_restore_stats(bool(show_restore_stats));
- int r = RGWBucketAdminOp::info(driver, bucket_op, stream_flusher, null_yield, dpp());
+ int r = RGWBucketAdminOp::info(driver, *site, bucket_op, stream_flusher, null_yield, dpp());
if (r < 0) {
cerr << "failure: " << cpp_strerror(-r) << ": " << err << std::endl;
return posix_errortrans(-r);