From bffa62233e7dcbde4ad0379aafbd650b5ff88211 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 6 Feb 2018 10:50:31 -0600 Subject: [PATCH] osd: get _get_pgs() and _get_pgids() Signed-off-by: Sage Weil --- src/osd/OSD.cc | 21 +++++++++++++++++++++ src/osd/OSD.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d969801d9b2..6e1bfbfcdb2 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -3853,6 +3853,27 @@ PG* OSD::_make_pg( return pg; } +void OSD::_get_pgs(vector *v) +{ + v->clear(); + RWLock::RLocker l(pg_map_lock); + for (auto& i : pg_map) { + if (!i.second->is_deleted()) { + v->push_back(i.second); + } + } +} + +void OSD::_get_pgids(vector *v) +{ + v->clear(); + RWLock::RLocker l(pg_map_lock); + for (auto& i : pg_map) { + if (!i.second->is_deleted()) { + v->push_back(i.first); + } + } +} PGRef OSD::_lookup_pg(spg_t pgid) { diff --git a/src/osd/OSD.h b/src/osd/OSD.h index e59fec0fddb..55f64dee1d5 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1853,6 +1853,9 @@ protected: PGRef _lookup_pg(spg_t pgid); PG *_lookup_lock_pg(spg_t pgid); + void _get_pgs(vector *v); + void _get_pgids(vector *v); + public: PG *lookup_lock_pg(spg_t pgid); -- 2.39.5