]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix for duplicates in list_periods() 8978/head
authorCasey Bodley <cbodley@redhat.com>
Fri, 6 May 2016 19:57:22 +0000 (15:57 -0400)
committerCasey Bodley <cbodley@redhat.com>
Fri, 6 May 2016 20:07:45 +0000 (16:07 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_rados.cc

index dcf7ae10364d921075afe2e52e0f35654a2fda1d..6d8ab33fd142307f6ab47fae5d012f575db7cf7e 100644 (file)
@@ -3826,14 +3826,15 @@ int RGWRados::list_periods(list<string>& periods)
   if (ret < 0) {
     return ret;
   }
-  for(list<string>::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;
 }