]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: replace mclock subop opclass w/ rep_op opclass; combine duplicated code
authorJ. Eric Ivancich <ivancich@redhat.com>
Wed, 30 Aug 2017 16:54:23 +0000 (12:54 -0400)
committerJ. Eric Ivancich <ivancich@redhat.com>
Mon, 23 Oct 2017 13:25:32 +0000 (09:25 -0400)
commit729cb600ac13bd92dd658bcad86c0968a424d5e7
treef0fa163dee092aeda69c90bf3078b66a27323fb3
parentd8dacf8261ea9164fa54b6f79ac4a29d28952c65
osd: replace mclock subop opclass w/ rep_op opclass; combine duplicated code

The OSD subops were replaced with replication ops (i.e., MSG_OSD_REPOP
and MSG_OSD_REPOPREPLY) in jewel. mClock incorrectly used them as an
op class rather than the newer replication ops. This fixes that and
places eight ops into the repop class -- MSG_OSD_REPOP,
MSG_OSD_REPOPREPLY, MSG_OSD_PG_UPDATE_LOG_MISSING,
MSG_OSD_PG_UPDATE_LOG_MISSING_REPLY, MSG_OSD_EC_WRITE,
MSG_OSD_EC_WRITE_REPLY, MSG_OSD_EC_READ, and MSG_OSD_EC_READ_REPLY.

This alo removes dupliated code related to op classes in
mClockOpClassQueue and mClockClientQueue and combines into
mClockOpClassSupport.

The three configuration options
osd_op_queue_mclock_osd_subop_{res,wgt,lim} have also been replaced
with osd_op_queue_mclock_osd_rep_op_{res,wgt,lim}.

This also removes OpQueueItem::OpQueueable::op_type_t::osd_subop since
it's not a category core ceph recognizes and is instead it's part of
an mclock view of ops.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
src/common/legacy_config_opts.h
src/common/options.cc
src/osd/CMakeLists.txt
src/osd/OpQueueItem.h
src/osd/mClockClientQueue.cc
src/osd/mClockClientQueue.h
src/osd/mClockOpClassQueue.cc
src/osd/mClockOpClassQueue.h
src/osd/mClockOpClassSupport.cc [new file with mode: 0644]
src/osd/mClockOpClassSupport.h [new file with mode: 0644]