From 9bb17dbb1ce2ae910927e120cf35da9ee4c98225 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 6 May 2016 15:57:22 -0400 Subject: [PATCH] rgw: fix for duplicates in list_periods() Signed-off-by: Casey Bodley (cherry picked from commit abed30befd86c68922759a66db589285fe01e54b) --- src/rgw/rgw_rados.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 021efba8d212..a443cc13b841 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3826,14 +3826,15 @@ int RGWRados::list_periods(list& periods) if (ret < 0) { return ret; } - for(list::iterator iter = raw_periods.begin(); iter != raw_periods.end(); iter++) { - size_t pos = iter->find("."); - if ( pos != std::string::npos) { - periods.push_back(iter->substr(0, pos)); + for (const auto& oid : raw_periods) { + size_t pos = oid.find("."); + if (pos != std::string::npos) { + periods.push_back(oid.substr(0, pos)); } else { - periods.push_back(*iter); + periods.push_back(oid); } } + periods.sort(); // unique() only detects duplicates if they're adjacent periods.unique(); return 0; } -- 2.47.3