From 486faa482a5b7e1c65614ac93e94ae0eb829cf98 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 9 Feb 2018 16:14:42 -0600 Subject: [PATCH] osd: remove old min pg epoch tracking Signed-off-by: Sage Weil --- src/osd/OSD.cc | 10 --------- src/osd/OSD.h | 59 -------------------------------------------------- 2 files changed, 69 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 1430c23e034..bcc2800b8bc 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -229,7 +229,6 @@ OSDService::OSDService(OSD *osd) : class_handler(osd->class_handler), osd_max_object_size(*cct->_conf, "osd_max_object_size"), osd_skip_data_digest(*cct->_conf, "osd_skip_data_digest"), - pg_epoch_lock("OSDService::pg_epoch_lock"), publish_lock("OSDService::publish_lock"), pre_publish_lock("OSDService::pre_publish_lock"), max_oldest_map(0), @@ -1618,8 +1617,6 @@ void OSDService::queue_for_pg_delete(spg_t pgid, epoch_t e) void OSDService::finish_pg_delete(PG *pg, unsigned old_pg_num) { - pg_remove_epoch(pg->get_pgid()); - osd->unregister_pg(pg); for (auto shard : osd->shards) { shard->unprime_split_children(pg->pg_id, old_pg_num); @@ -3649,7 +3646,6 @@ PGRef OSD::_open_pg( spg_t pgid) { PGRef pg = _make_pg(createmap, pgid); - service.pg_add_epoch(pg->pg_id, createmap->get_epoch()); return pg; } @@ -7688,11 +7684,6 @@ void OSD::_finish_splits(set& pgs) pg->lock(); dout(10) << __func__ << " " << *pg << dendl; epoch_t e = pg->get_osdmap_epoch(); - pg->unlock(); - - service.pg_add_epoch(pg->pg_id, e); - - pg->lock(); pg->handle_initialize(&rctx); pg->queue_null(e, e); dispatch_context_transaction(rctx, pg); @@ -7750,7 +7741,6 @@ void OSD::advance_pg( handle.reset_tp_timeout(); } pg->handle_activate_map(rctx); - service.pg_update_epoch(pg->pg_id, lastmap->get_epoch()); if (!new_pgs.empty()) { rctx->transaction->register_on_applied(new C_FinishSplits(this, new_pgs)); diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 7efc5415792..97884673602 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -293,65 +293,6 @@ public: } } -private: - // -- map epoch lower bound -- - Mutex pg_epoch_lock; - Cond pg_cond; - multiset pg_epochs; - map pg_epoch; - -public: - void pg_add_epoch(spg_t pgid, epoch_t epoch) { - Mutex::Locker l(pg_epoch_lock); - map::iterator t = pg_epoch.find(pgid); - assert(t == pg_epoch.end()); - pg_epoch[pgid] = epoch; - pg_epochs.insert(epoch); - if (*pg_epochs.begin() == epoch) { - // we are the (new?) blocking epoch - pg_cond.Signal(); - } - } - void pg_update_epoch(spg_t pgid, epoch_t epoch) { - Mutex::Locker l(pg_epoch_lock); - map::iterator t = pg_epoch.find(pgid); - assert(t != pg_epoch.end()); - if (*pg_epochs.begin() == t->second) { - // we were on the blocking epoch - pg_cond.Signal(); - } - pg_epochs.erase(pg_epochs.find(t->second)); - t->second = epoch; - pg_epochs.insert(epoch); - } - void pg_remove_epoch(spg_t pgid) { - Mutex::Locker l(pg_epoch_lock); - map::iterator t = pg_epoch.find(pgid); - if (t != pg_epoch.end()) { - if (*pg_epochs.begin() == t->second) { - // we were on the blocking epoch - pg_cond.Signal(); - } - pg_epochs.erase(pg_epochs.find(t->second)); - pg_epoch.erase(t); - } - } - epoch_t get_min_pg_epoch() { - Mutex::Locker l(pg_epoch_lock); - if (pg_epochs.empty()) - return 0; - else - return *pg_epochs.begin(); - } - - void wait_min_pg_epoch(epoch_t e) { - Mutex::Locker l(pg_epoch_lock); - while (!pg_epochs.empty() && - *pg_epochs.begin() < e) { - pg_cond.Wait(pg_epoch_lock); - } - } - private: // -- superblock -- Mutex publish_lock, pre_publish_lock; // pre-publish orders before publish -- 2.39.5