]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd: support reading multiple extents in the object dispatch interface
authorOr Ozeri <oro@il.ibm.com>
Thu, 16 Jul 2020 11:14:36 +0000 (14:14 +0300)
committerOr Ozeri <oro@il.ibm.com>
Sun, 2 Aug 2020 09:27:45 +0000 (12:27 +0300)
commit01045545b6f61c381a221c9da7f6a927e997cd2b
tree9090694ecfc9a31088a1ea82e859b63912adb3c2
parent00fda0bbe43724ec52bedbe03f66f7ec3f3b1039
librbd: support reading multiple extents in the object dispatch interface

This commit extends the object dispatch read function to support multiple object extents (using a single librados ObjectOperation).
In addition, we add an option to return the version number for that read.
This new function will be used by the new crypto object dispatch layer to support read-modify-write operation required for encrypting and writing unaligned data.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
24 files changed:
src/librbd/cache/ObjectCacherObjectDispatch.cc
src/librbd/cache/ObjectCacherObjectDispatch.h
src/librbd/cache/ObjectCacherWriteback.cc
src/librbd/cache/ParentCacheObjectDispatch.cc
src/librbd/cache/ParentCacheObjectDispatch.h
src/librbd/cache/WriteAroundObjectDispatch.cc
src/librbd/cache/WriteAroundObjectDispatch.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/ObjectDispatcher.cc
src/librbd/io/ObjectRequest.cc
src/librbd/io/ObjectRequest.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/test/librbd/cache/test_mock_ParentCacheObjectDispatch.cc
src/test/librbd/io/test_mock_ObjectRequest.cc
src/test/librbd/io/test_mock_SimpleSchedulerObjectDispatch.cc
src/test/librbd/mock/io/MockObjectDispatch.h