]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/osd/scheduler/OpSchedulerItem.cc
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / osd / scheduler / OpSchedulerItem.cc
index 28069dcef3a841682eef79d36f96bbb783680ea5..a998757bbe8a958f611d7f658f667456e9da2be3 100644 (file)
@@ -14,6 +14,9 @@
 
 #include "osd/scheduler/OpSchedulerItem.h"
 #include "osd/OSD.h"
+#ifdef HAVE_JAEGER
+#include "common/tracer.h"
+#endif
 
 namespace ceph::osd::scheduler {
 
@@ -23,6 +26,9 @@ void PGOpItem::run(
   PGRef& pg,
   ThreadPool::TPHandle &handle)
 {
+#ifdef HAVE_JAEGER
+  auto PGOpItem_span = jaeger_tracing::child_span("PGOpItem::run", op->osd_parent_span);
+#endif
   osd->dequeue_op(pg, op, handle);
   pg->unlock();
 }
@@ -46,16 +52,117 @@ void PGSnapTrim::run(
   pg->unlock();
 }
 
-void PGScrub::run(
-  OSD *osd,
-  OSDShard *sdata,
-  PGRef& pg,
-  ThreadPool::TPHandle &handle)
+void PGScrub::run(OSD* osd, OSDShard* sdata, PGRef& pg, ThreadPool::TPHandle& handle)
 {
   pg->scrub(epoch_queued, handle);
   pg->unlock();
 }
 
+void PGScrubAfterRepair::run(OSD* osd,
+                         OSDShard* sdata,
+                         PGRef& pg,
+                         ThreadPool::TPHandle& handle)
+{
+  pg->recovery_scrub(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubResched::run(OSD* osd,
+                        OSDShard* sdata,
+                        PGRef& pg,
+                        ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_scrub_resched(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubResourcesOK::run(OSD* osd,
+                            OSDShard* sdata,
+                            PGRef& pg,
+                            ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_resources_granted(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubDenied::run(OSD* osd,
+                       OSDShard* sdata,
+                       PGRef& pg,
+                       ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_resources_denied(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubPushesUpdate::run(OSD* osd,
+                             OSDShard* sdata,
+                             PGRef& pg,
+                             ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_pushes_update(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubAppliedUpdate::run(OSD* osd,
+                              OSDShard* sdata,
+                              PGRef& pg,
+                              ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_applied_update(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubUnblocked::run(OSD* osd,
+                          OSDShard* sdata,
+                          PGRef& pg,
+                          ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_unblocking(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubDigestUpdate::run(OSD* osd,
+                             OSDShard* sdata,
+                             PGRef& pg,
+                             ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_digest_update(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubGotReplMaps::run(OSD* osd,
+                            OSDShard* sdata,
+                            PGRef& pg,
+                            ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_replmaps_ready(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGRepScrub::run(OSD* osd, OSDShard* sdata, PGRef& pg, ThreadPool::TPHandle& handle)
+{
+  pg->replica_scrub(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGRepScrubResched::run(OSD* osd,
+                           OSDShard* sdata,
+                           PGRef& pg,
+                           ThreadPool::TPHandle& handle)
+{
+  pg->replica_scrub_resched(epoch_queued, handle);
+  pg->unlock();
+}
+
+void PGScrubReplicaPushes::run([[maybe_unused]] OSD* osd,
+                             OSDShard* sdata,
+                             PGRef& pg,
+                             ThreadPool::TPHandle& handle)
+{
+  pg->scrub_send_replica_pushes(epoch_queued, handle);
+  pg->unlock();
+}
+
 void PGRecovery::run(
   OSD *osd,
   OSDShard *sdata,
@@ -85,4 +192,14 @@ void PGDelete::run(
   osd->dequeue_delete(sdata, pg.get(), epoch_queued, handle);
 }
 
+void PGRecoveryMsg::run(
+  OSD *osd,
+  OSDShard *sdata,
+  PGRef& pg,
+  ThreadPool::TPHandle &handle)
+{
+  osd->dequeue_op(pg, op, handle);
+  pg->unlock();
+}
+
 }