From: Sage Weil Date: Wed, 8 Feb 2017 14:45:45 +0000 (-0500) Subject: osd/PG: no need to split op waiting lists X-Git-Tag: v12.0.1~383^2~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a0deb73f227cdc080ee22480b62ce9fa98edd516;p=ceph.git osd/PG: no need to split op waiting lists Clients are now expected to resend on split, and there is already an interval change. Signed-off-by: Sage Weil --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index f0bf90dc3e6b0..1f5e5a74a3a87 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -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 diff --git a/src/osd/PG.h b/src/osd/PG.h index ab81b9a9696af..e4531e56fa79f 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -840,8 +840,6 @@ protected: map > > waiting_for_ondisk; - void split_ops(PG *child, unsigned split_bits); - void requeue_object_waiters(map>& m); void requeue_op(OpRequestRef op); void requeue_ops(list &l);