From: Casey Bodley Date: Tue, 11 Mar 2025 16:51:02 +0000 (-0400) Subject: rgw/rados: fix list_objects_ordered() detection of "forward progress" X-Git-Tag: v20.3.0~223^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=24f55b883e5009b032e1c0e91932a01d5d231945;p=ceph.git rgw/rados: fix list_objects_ordered() detection of "forward progress" for multiple versions of the same object name, ListObjectVersions is supposed to return versions "in the order that they were stored, returning the most recently stored object first" this sort order is preserved by the bucket index in cls_rgw, so list_objects_ordered() should not expect the version ids to be sorted lexicographically. replace the not-less-than comparison with equality Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index a55d67aff5bb..9afc8e12d378 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -1862,7 +1862,7 @@ int RGWRados::Bucket::List::list_objects_ordered( ldpp_dout(dpp, 20) << __func__ << ": starting attempt " << attempt << dendl; - if (attempt > 1 && !(prev_marker < cur_marker)) { + if (attempt > 1 && prev_marker == cur_marker) { // we've failed to make forward progress ldpp_dout(dpp, 0) << "ERROR: " << __func__ << " marker failed to make forward progress; attempt=" << attempt <<