]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: QoS image io dispatch layer
authorJason Dillaman <dillaman@redhat.com>
Wed, 29 Apr 2020 17:05:35 +0000 (13:05 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 14 May 2020 15:56:45 +0000 (11:56 -0400)
commitd7a72b5f703c04e826869d5ca59df6e2cadb8e1b
treee7a0a18489141e75e0d0d4ee978c862ec69fe680
parentbe760356b866d3b5a4d426cd951b4b74c87616c6
librbd: QoS image io dispatch layer

Re-implement the existing QoS throttling behavior from ImageRequestWQ
as a new image IO dispatch layer. The existing QoS hooks in
ImageRequestWQ are temporarily hooked to the new layer.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
16 files changed:
src/librbd/CMakeLists.txt
src/librbd/ImageCtx.cc
src/librbd/io/ImageDispatchSpec.cc
src/librbd/io/ImageDispatchSpec.h
src/librbd/io/ImageDispatcher.cc
src/librbd/io/ImageDispatcher.h
src/librbd/io/ImageDispatcherInterface.h
src/librbd/io/ImageRequestWQ.cc
src/librbd/io/ImageRequestWQ.h
src/librbd/io/QosImageDispatch.cc [new file with mode: 0644]
src/librbd/io/QosImageDispatch.h [new file with mode: 0644]
src/librbd/io/Types.h
src/test/librbd/io/test_mock_ImageRequestWQ.cc
src/test/librbd/io/test_mock_QosImageDispatch.cc [new file with mode: 0644]
src/test/librbd/mock/io/MockImageDispatcher.h
src/test/librbd/mock/io/MockQosImageDispatch.h [new file with mode: 0644]