]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG,ReplicatedPG: remove the waiting_for_backfill_peer mechanism
authorSamuel Just <sam.just@inktank.com>
Sat, 26 Oct 2013 00:58:31 +0000 (17:58 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 28 Oct 2013 20:34:17 +0000 (13:34 -0700)
See previous patch.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.h
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h

index 9f982167c91b86d7831a1b3576a918f6381b8b52..e26d2f487fbca78e2df9e44ee8cc556b271baca8 100644 (file)
@@ -522,7 +522,6 @@ protected:
   bool flushed;
 
   // Ops waiting on backfill_pos to change
-  list<OpRequestRef> waiting_for_backfill_pos;
   list<OpRequestRef>            waiting_for_active;
   list<OpRequestRef>            waiting_for_all_missing;
   map<hobject_t, list<OpRequestRef> > waiting_for_missing_object,
index 83ecc3b0dd3d3c9a4f568d3a05db695acb6be73e..899b638ee6643a9367f95c934c89c20d88788683 100644 (file)
@@ -361,16 +361,6 @@ void ReplicatedPG::wait_for_blocked_object(const hobject_t& soid, OpRequestRef o
   op->mark_delayed("waiting for blocked object");
 }
 
-void ReplicatedPG::wait_for_backfill_pos(OpRequestRef op)
-{
-  waiting_for_backfill_pos.push_back(op);
-}
-
-void ReplicatedPG::release_waiting_for_backfill_pos()
-{
-  requeue_ops(waiting_for_backfill_pos);
-}
-
 bool PGLSParentFilter::filter(bufferlist& xattr_data, bufferlist& outdata)
 {
   bufferlist::iterator iter = xattr_data.begin();
@@ -917,11 +907,6 @@ void ReplicatedPG::do_op(OpRequestRef op)
     return;
   }
 
-  if (head == backfill_pos) {
-    wait_for_backfill_pos(op);
-    return;
-  }
-
   // missing snapdir?
   hobject_t snapdir(m->get_oid(), m->get_object_locator().key,
                    CEPH_SNAPDIR, m->get_pg().ps(), info.pgid.pool(),
@@ -1604,7 +1589,6 @@ void ReplicatedPG::do_scan(
 
       backfill_pos = backfill_info.begin > peer_backfill_info.begin ?
        peer_backfill_info.begin : backfill_info.begin;
-      release_waiting_for_backfill_pos();
       dout(10) << " backfill_pos now " << backfill_pos << dendl;
 
       assert(waiting_on_backfill);
@@ -7377,10 +7361,8 @@ void ReplicatedPG::on_change(ObjectStore::Transaction *t)
 
   // requeue object waiters
   if (is_primary()) {
-    requeue_ops(waiting_for_backfill_pos);
     requeue_object_waiters(waiting_for_missing_object);
   } else {
-    waiting_for_backfill_pos.clear();
     waiting_for_missing_object.clear();
   }
   for (map<hobject_t,list<OpRequestRef> >::iterator p = waiting_for_degraded_object.begin();
@@ -8137,7 +8119,6 @@ int ReplicatedPG::recover_backfill(
   }
   pgbackend->run_recovery_op(h, cct->_conf->osd_recovery_op_priority);
 
-  release_waiting_for_backfill_pos();
   dout(5) << "backfill_pos is " << backfill_pos << " and pinfo.last_backfill is "
          << pinfo.last_backfill << dendl;
   for (set<hobject_t>::iterator i = backfills_in_flight.begin();
index 455aaf60482571a617e3187b23532a49a3529a34..bae8544183a6cd10d32de8a88805c8dd8e167f26 100644 (file)
@@ -1063,8 +1063,6 @@ public:
   bool is_missing_object(const hobject_t& oid);
   void wait_for_missing_object(const hobject_t& oid, OpRequestRef op);
   void wait_for_all_missing(OpRequestRef op);
-  void wait_for_backfill_pos(OpRequestRef op);
-  void release_waiting_for_backfill_pos();
 
   bool is_degraded_object(const hobject_t& oid);
   void wait_for_degraded_object(const hobject_t& oid, OpRequestRef op);