From: Zhang Shaowen Date: Tue, 9 May 2017 08:39:39 +0000 (+0800) Subject: rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing X-Git-Tag: v10.2.10~46^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=713a88a5c9ec8e1140227ddcf0df8badfd96706d;p=ceph.git rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing object versions if necessary. Fixes: http://tracker.ceph.com/issues/19886 Signed-off-by: Zhang Shaowen (cherry picked from commit f805c3e08948e379b7d2c4f2faf9e7f550e4cb23) --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 245f3d8bc29a6..9a6e561ce9cc5 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -1781,7 +1781,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(); } } diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index e99c3866a5168..aff990ceaf66b 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -493,8 +493,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);