]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: remove old min pg epoch tracking
authorSage Weil <sage@redhat.com>
Fri, 9 Feb 2018 22:14:42 +0000 (16:14 -0600)
committerSage Weil <sage@redhat.com>
Wed, 4 Apr 2018 13:26:55 +0000 (08:26 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h

index 1430c23e0340dcd28639af290459bc39a54ed1c4..bcc2800b8bc3c0c510a972775f0048f5dd0d7fe9 100644 (file)
@@ -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<PGRef>& 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));
index 7efc54157920cf5950c331bbdd1f570e4e5e499f..978846736022c7119762eb8e8abd03bbda761fcc 100644 (file)
@@ -293,65 +293,6 @@ public:
     }
   }
 
-private:
-  // -- map epoch lower bound --
-  Mutex pg_epoch_lock;
-  Cond pg_cond;
-  multiset<epoch_t> pg_epochs;
-  map<spg_t,epoch_t> pg_epoch;
-
-public:
-  void pg_add_epoch(spg_t pgid, epoch_t epoch) {
-    Mutex::Locker l(pg_epoch_lock);
-    map<spg_t,epoch_t>::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<spg_t,epoch_t>::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<spg_t,epoch_t>::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