From 124cf065297ed419d6e3b825aab1f9a3c051eb10 Mon Sep 17 00:00:00 2001 From: Orit Wasserman Date: Wed, 18 Nov 2015 12:56:37 +0100 Subject: [PATCH] rgw: remove epoch and duplicates from list_periods Signed-off-by: Orit Wasserman --- src/rgw/rgw_rados.cc | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 7208c6afc3e59..498140f199f23 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3472,8 +3472,21 @@ int RGWRados::list_realms(list& realms) int RGWRados::list_periods(list& periods) { RGWPeriod period; - - return list_raw_prefixed_objs(period.get_pool_name(cct), period.get_info_oid_prefix(), periods); + list raw_periods; + int ret = list_raw_prefixed_objs(period.get_pool_name(cct), period.get_info_oid_prefix(), raw_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)); + } else { + periods.push_back(*iter); + } + } + periods.unique(); + return 0; } -- 2.39.5