]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing 15014/head
authorZhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Tue, 9 May 2017 08:39:39 +0000 (16:39 +0800)
committerZhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Tue, 9 May 2017 09:07:41 +0000 (17:07 +0800)
object versions if necessary.

Fixes: http://tracker.ceph.com/issues/19886
Signed-off-by: Zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
src/rgw/rgw_op.cc
src/rgw/rgw_rest_s3.cc

index 844b1dad5b020fdd3aedea13a20b18579f9caaca..c39b9b2269bb493ef795320152b70cc2d7d534bd 100644 (file)
@@ -1983,7 +1983,7 @@ void RGWListBucket::execute()
   list_op.params.list_versions = list_versions;
 
   op_ret = list_op.list_objects(max, &objs, &common_prefixes, &is_truncated);
-  if (op_ret >= 0 && !delimiter.empty()) {
+  if (op_ret >= 0) {
     next_marker = list_op.get_next_marker();
   }
 }
index b41441160f58f5a32134a2ada39f8755cabc5699..2dcce3b65a5169c28a367b13ae1c7ba4cea0ea27 100644 (file)
@@ -539,8 +539,11 @@ void RGWListBucket_ObjStore_S3::send_versioned_response()
   s->formatter->dump_string("Name", s->bucket_name);
   s->formatter->dump_string("Prefix", prefix);
   s->formatter->dump_string("KeyMarker", marker.name);
-  if (is_truncated && !next_marker.empty())
+  s->formatter->dump_string("VersionIdMarker", marker.instance);
+  if (is_truncated && !next_marker.empty()) {
     s->formatter->dump_string("NextKeyMarker", next_marker.name);
+    s->formatter->dump_string("NextVersionIdMarker", next_marker.instance);
+  }
   s->formatter->dump_int("MaxKeys", max);
   if (!delimiter.empty())
     s->formatter->dump_string("Delimiter", delimiter);