]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing 16181/head
authorZhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Tue, 9 May 2017 08:39:39 +0000 (16:39 +0800)
committerNathan Cutler <ncutler@suse.com>
Thu, 6 Jul 2017 17:37:43 +0000 (19:37 +0200)
object versions if necessary.

Fixes: http://tracker.ceph.com/issues/19886
Signed-off-by: Zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
(cherry picked from commit f805c3e08948e379b7d2c4f2faf9e7f550e4cb23)

src/rgw/rgw_op.cc
src/rgw/rgw_rest_s3.cc

index bcc7faf54953398976ff69e8e1be7e0382d98260..cbcbf77df54a5a511292822be5f9ed3b5e832465 100644 (file)
@@ -1949,7 +1949,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 a745b95f5a2ef5a6f0a23afdebb756c33151d673..aa3ca9a7339fe5e34202d835e368a9621d782bd7 100644 (file)
@@ -497,8 +497,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);