}
prev_marker = cur_marker;
+ if (skip_after_delim > cur_marker.name) {
+ cur_marker = skip_after_delim;
+
+ ldout(cct, 20) << "setting cur_marker="
+ << cur_marker.name
+ << "[" << cur_marker.instance << "]"
+ << dendl;
+ }
+
std::map<string, rgw_bucket_dir_entry> ent_map;
int r = store->cls_bucket_list_ordered(target->get_bucket_info(),
shard_id,
next_marker = prefix_key;
(*common_prefixes)[prefix_key] = true;
+ int marker_delim_pos = cur_marker.name.find(
+ params.delim, cur_prefix.size());
+
+ skip_after_delim = cur_marker.name.substr(0, marker_delim_pos);
+ skip_after_delim.append(after_delim_s);
+
+ ldout(cct, 20) << "skip_after_delim=" << skip_after_delim << dendl;
+
count++;
}
count++;
} // eiter for loop
- if (!params.delim.empty()) {
- int marker_delim_pos = cur_marker.name.find(params.delim, cur_prefix.size());
- if (marker_delim_pos >= 0) {
- skip_after_delim = cur_marker.name.substr(0, marker_delim_pos);
- skip_after_delim.append(after_delim_s);
-
- ldout(cct, 20) << "skip_after_delim=" << skip_after_delim << dendl;
-
- if (skip_after_delim > cur_marker.name) {
- cur_marker = skip_after_delim;
- ldout(cct, 20) << "setting cur_marker="
- << cur_marker.name
- << "[" << cur_marker.instance << "]"
- << dendl;
- }
- }
- }
-
ldout(cct, 20) << "RGWRados::Bucket::List::" << __func__ <<
" INFO end of outer loop, truncated=" << truncated <<
", count=" << count << ", attempt=" << attempt << dendl;