]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: no need to split op waiting lists
authorSage Weil <sage@redhat.com>
Wed, 8 Feb 2017 14:45:45 +0000 (09:45 -0500)
committerSage Weil <sage@redhat.com>
Tue, 14 Feb 2017 04:03:51 +0000 (23:03 -0500)
Clients are now expected to resend on split, and there is already an
interval change.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.cc
src/osd/PG.h

index f0bf90dc3e6b075f344d78b67c4719a0c8058d50..1f5e5a74a3a8761c4f15b508e3d2b38def2bc7e9 100644 (file)
@@ -2210,27 +2210,6 @@ void PG::finish_recovery_op(const hobject_t& soid, bool dequeue)
   }
 }
 
-void PG::split_ops(PG *child, unsigned split_bits) {
-  unsigned match = child->info.pgid.ps();
-  assert(waiting_for_all_missing.empty());
-  assert(waiting_for_cache_not_full.empty());
-  assert(waiting_for_unreadable_object.empty());
-  assert(waiting_for_degraded_object.empty());
-  assert(waiting_for_ondisk.empty());
-  assert(waiting_for_active.empty());
-  assert(waiting_for_scrub.empty());
-
-  osd->dequeue_pg(this, &waiting_for_peered);
-
-  OSD::split_list(
-    &waiting_for_peered, &(child->waiting_for_peered), match, split_bits);
-  {
-    Mutex::Locker l(map_lock); // to avoid a race with the osd dispatch
-    OSD::split_list(
-      &waiting_for_map, &(child->waiting_for_map), match, split_bits);
-  }
-}
-
 void PG::split_into(pg_t child_pgid, PG *child, unsigned split_bits)
 {
   child->update_snap_mapper_bits(split_bits);
@@ -2304,7 +2283,6 @@ void PG::split_into(pg_t child_pgid, PG *child, unsigned split_bits)
   // History
   child->past_intervals = past_intervals;
 
-  split_ops(child, split_bits);
   _split_into(child_pgid, child, split_bits);
 
   // release all backoffs so that Objecter doesn't need to handle unblock
index ab81b9a9696af8de3a76fd6b64d543907ef09904..e4531e56fa79f8092345e1d1f8d836fb993e3519 100644 (file)
@@ -840,8 +840,6 @@ protected:
   map<eversion_t,
       list<pair<OpRequestRef, version_t> > > waiting_for_ondisk;
 
-  void split_ops(PG *child, unsigned split_bits);
-
   void requeue_object_waiters(map<hobject_t, list<OpRequestRef>>& m);
   void requeue_op(OpRequestRef op);
   void requeue_ops(list<OpRequestRef> &l);