while (truncated && count <= max) {
std::vector<rgw_bucket_dir_entry> ent_list;
+ ent_list.reserve(read_ahead);
+
int r = store->cls_bucket_list_unordered(target->get_bucket_info(),
shard_id,
cur_marker,
int RGWRados::check_bucket_empty(RGWBucketInfo& bucket_info)
{
+ constexpr uint NUM_ENTRIES = 1000u;
+
rgw_obj_index_key marker;
string prefix;
bool is_truncated;
do {
std::vector<rgw_bucket_dir_entry> ent_list;
- constexpr uint NUM_ENTRIES = 1000u;
+ ent_list.reserve(NUM_ENTRIES);
+
int r = cls_bucket_list_unordered(bucket_info,
RGW_NO_SHARD,
marker,
ent_list,
&is_truncated,
&marker);
- if (r < 0)
+ if (r < 0) {
return r;
+ }
string ns;
for (auto const& dirent : ent_list) {
rgw_obj_key obj;
- if (rgw_obj_key::oid_to_key_in_ns(dirent.key.name, &obj, ns))
+ if (rgw_obj_key::oid_to_key_in_ns(dirent.key.name, &obj, ns)) {
return -ENOTEMPTY;
+ }
}
} while (is_truncated);
", list_versions=" << list_versions <<
", expansion_factor=" << expansion_factor << dendl;
+ m.clear();
+
librados::IoCtx index_ctx;
// key - oid (for different shards if there is any)
// value - list result for the corresponding oid (shard), it is filled by
" start " << start.name << "[" << start.instance <<
"] num_entries " << num_entries << dendl;
+ ent_list.clear();
static MultipartMetaFilter multipart_meta_filter;
*is_truncated = false;