summaryrefslogtreecommitdiff
path: root/src/rgw/rgw_rados.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/rgw_rados.cc')
-rw-r--r--src/rgw/rgw_rados.cc17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc
index 31332b5993e..df0306c4095 100644
--- a/src/rgw/rgw_rados.cc
+++ b/src/rgw/rgw_rados.cc
@@ -686,24 +686,17 @@ int RGWRados::list_objects(rgw_bucket& bucket, int max, string& prefix, string&
bool get_content_type, string& ns, bool *is_truncated, RGWAccessListFilter *filter)
{
int count = 0;
- string cur_marker = marker;
bool truncated;
- string ns_prefix;
if (bucket_is_system(bucket)) {
return -EINVAL;
}
result.clear();
- if (!ns.empty()) {
- ns_prefix = "_";
- ns_prefix += ns + "_";
- if (cur_marker < ns_prefix) {
- cur_marker = ns_prefix;
- } else if (cur_marker.substr(0, ns.size()) > ns_prefix) {
- truncated = false;
- goto done;
- }
- }
+
+ rgw_obj marker_obj;
+ marker_obj.set_ns(ns);
+ marker_obj.set_obj(marker);
+ string cur_marker = marker_obj.object;
do {
std::map<string, RGWObjEnt> ent_map;