]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: enqueue peering evt with pgid, not PG*
authorSage Weil <sage@redhat.com>
Tue, 12 Dec 2017 15:23:54 +0000 (09:23 -0600)
committerSage Weil <sage@redhat.com>
Thu, 11 Jan 2018 23:07:00 +0000 (17:07 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc

index f93da77c3742df1b893b209a1c4aba3ae1899ddd..5ccdbf2030d217006103cc05ffe540536aa2b373 100644 (file)
@@ -8959,12 +8959,12 @@ void OSD::enqueue_op(spg_t pg, OpRequestRef& op, epoch_t epoch)
       epoch));
 }
 
-void OSD::enqueue_peering_evt(PG *pg, PGPeeringEventRef evt)
+void OSD::enqueue_peering_evt(spg_t pgid, PGPeeringEventRef evt)
 {
-  dout(15) << __func__ << " " << pg->get_pgid() << " " << evt->get_desc() << dendl;
+  dout(15) << __func__ << " " << pgid << " " << evt->get_desc() << dendl;
   op_shardedwq.queue(
     OpQueueItem(
-      unique_ptr<OpQueueItem::OpQueueable>(new PGPeeringItem(pg->get_pgid(), evt)),
+      unique_ptr<OpQueueItem::OpQueueable>(new PGPeeringItem(pgid, evt)),
       10,
       cct->_conf->osd_peering_op_priority,
       utime_t(),
@@ -8972,12 +8972,12 @@ void OSD::enqueue_peering_evt(PG *pg, PGPeeringEventRef evt)
       evt->get_epoch_sent()));
 }
 
-void OSD::enqueue_peering_evt_front(PG *pg, PGPeeringEventRef evt)
+void OSD::enqueue_peering_evt_front(spg_t pgid, PGPeeringEventRef evt)
 {
-  dout(15) << __func__ << " " << pg->get_pgid() << " " << evt->get_desc() << dendl;
+  dout(15) << __func__ << " " << pgid << " " << evt->get_desc() << dendl;
   op_shardedwq.queue_front(
     OpQueueItem(
-      unique_ptr<OpQueueItem::OpQueueable>(new PGPeeringItem(pg->get_pgid(), evt)),
+      unique_ptr<OpQueueItem::OpQueueable>(new PGPeeringItem(pgid, evt)),
       10,
       cct->_conf->osd_peering_op_priority,
       utime_t(),
index 914c4a312d8aa7a8def1006b6e8a467a626ca906..3a22bdda35ea1b2394d29ea82f0d68117d7fe7dd 100644 (file)
@@ -1732,10 +1732,10 @@ private:
     ThreadPool::TPHandle &handle);
 
   void enqueue_peering_evt(
-    PG *pg,
+    spg_t pgid,
     PGPeeringEventRef ref);
   void enqueue_peering_evt_front(
-    PG *pg,
+    spg_t pgid,
     PGPeeringEventRef ref);
   void dequeue_peering_evt(
     PG *pg,
index d1b82bbd87df40c567035ff84cbc2a1d1afb053f..bca148e3fdb7f9a043e5e40cf943b82c7ec0e5a3 100644 (file)
@@ -5857,7 +5857,7 @@ void PG::take_waiters()
   for (auto i = peering_waiters.rbegin();
        i != peering_waiters.rend();
        ++i) {
-    osd->osd->enqueue_peering_evt_front(this, *i);
+    osd->osd->enqueue_peering_evt_front(info.pgid, *i);
   }
 }
 
@@ -5879,7 +5879,7 @@ void PG::queue_peering_event(PGPeeringEventRef evt)
 {
   if (old_peering_evt(evt))
     return;
-  osd->osd->enqueue_peering_evt(this, evt);
+  osd->osd->enqueue_peering_evt(info.pgid, evt);
 }
 
 void PG::queue_null(epoch_t msg_epoch,