]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd: switch the IO path to utilize the neorados API
authorJason Dillaman <dillaman@redhat.com>
Thu, 9 Jul 2020 21:04:50 +0000 (17:04 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 16 Jul 2020 19:59:31 +0000 (15:59 -0400)
commit15ec517c59c39cffa31e6b3ffdfcb85371aa3c64
tree3163ec75607b439c081493bb4a3c1199498a288c
parentbb14993873821307780ee0d267b6229a27bf3a40
librbd: switch the IO path to utilize the neorados API

IO operations to the cluster are now dispatched via the neorados
API which allows multiple threads to be utilized for processing
incoming and outgoing IO.

This also involves switching from a map for tracking sparse extents
to a vector of pairs since that matches the new API for sparse
read operations.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
27 files changed:
src/librbd/asio/Utils.h [new file with mode: 0644]
src/librbd/cache/ObjectCacherObjectDispatch.cc
src/librbd/cache/ObjectCacherObjectDispatch.h
src/librbd/cache/ParentCacheObjectDispatch.cc
src/librbd/cache/ParentCacheObjectDispatch.h
src/librbd/cache/WriteAroundObjectDispatch.cc
src/librbd/cache/WriteAroundObjectDispatch.h
src/librbd/io/CopyupRequest.cc
src/librbd/io/CopyupRequest.h
src/librbd/io/ImageRequest.cc
src/librbd/io/ObjectDispatch.cc
src/librbd/io/ObjectDispatch.h
src/librbd/io/ObjectDispatchInterface.h
src/librbd/io/ObjectDispatchSpec.h
src/librbd/io/ObjectRequest.cc
src/librbd/io/ObjectRequest.h
src/librbd/io/ReadResult.h
src/librbd/io/SimpleSchedulerObjectDispatch.cc
src/librbd/io/SimpleSchedulerObjectDispatch.h
src/librbd/io/Utils.cc
src/librbd/io/Utils.h
src/librbd/journal/ObjectDispatch.h
src/osdc/Striper.cc
src/osdc/Striper.h
src/test/librbd/io/test_mock_CopyupRequest.cc
src/test/librbd/io/test_mock_ObjectRequest.cc
src/test/librbd/mock/io/MockObjectDispatch.h