]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/: add MSG_OSD_PG_(BACKFILL|BACKFILL_REMOVE|SCAN) as recovery messages
authorSamuel Just <sjust@redhat.com>
Thu, 6 Apr 2023 05:57:48 +0000 (22:57 -0700)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 8 May 2023 10:52:00 +0000 (16:22 +0530)
commit69a17bdb0f027b003885ea834d709fdbbd382b26
tree55b1c2ed48e75dec1db689c8f3d3f3be01117f2f
parent3a87ddd6f150a2c22551f83af7f147ae38601650
osd/: add MSG_OSD_PG_(BACKFILL|BACKFILL_REMOVE|SCAN) as recovery messages

Otherwise, these end up as PGOpItem and therefore as immediate:

class PGOpItem : public PGOpQueueable {
...
  op_scheduler_class get_scheduler_class() const final {
    auto type = op->get_req()->get_type();
    if (type == CEPH_MSG_OSD_OP ||
  type == CEPH_MSG_OSD_BACKOFF) {
      return op_scheduler_class::client;
    } else {
      return op_scheduler_class::immediate;
    }
  }
...
};

This was probably causing a bunch of extra interference with client
ops.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PrimaryLogPG.cc
src/osd/scheduler/OpSchedulerItem.h