From: Samuel Just Date: Mon, 29 Apr 2013 18:29:30 +0000 (-0700) Subject: OSD: removal collections will be removed inline and not queued X-Git-Tag: v0.63~48^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4b548b5f0c6327e71a6e5397cf871f4964bb0b03;p=ceph.git OSD: removal collections will be removed inline and not queued Signed-off-by: Samuel Just --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 83cf0a9589f5..073ca080f707 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1707,8 +1707,10 @@ void OSD::load_pgs() ++it) { pg_t pgid; snapid_t snap; + uint64_t seq; - if (it->is_temp(pgid)) { + if (it->is_temp(pgid) || + it->is_removal(&seq, &pgid)) { dout(10) << "load_pgs " << *it << " clearing temp" << dendl; clear_temp(store, *it); continue; @@ -1726,21 +1728,6 @@ void OSD::load_pgs() continue; } - uint64_t seq; - if (it->is_removal(&seq, &pgid)) { - if (seq >= next_removal_seq) - next_removal_seq = seq + 1; - dout(10) << "load_pgs queueing " << *it << " for removal, seq is " - << seq << " pgid is " << pgid << dendl; - boost::tuple *to_queue = - new boost::tuple; - to_queue->get<0>() = *it; - to_queue->get<1>() = service.osr_registry.lookup_or_create(pgid, stringify(pgid)); - to_queue->get<2>() = service.deleting_pgs.lookup_or_create(pgid); - remove_wq.queue(to_queue); - continue; - } - dout(10) << "load_pgs ignoring unrecognized " << *it << dendl; }