]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd: add crypto image dispatch layer
authorOr Ozeri <oro@il.ibm.com>
Mon, 2 Nov 2020 14:41:53 +0000 (16:41 +0200)
committerOr Ozeri <oro@il.ibm.com>
Tue, 17 Nov 2020 06:39:55 +0000 (08:39 +0200)
commit8d6a479332691e340dec293cb33a3f36bf8edc65
tree9f527d5785aeab332078928f9e72d938868ef46f
parent6f75704a2e96c4292b81179d1e3035703d875cbc
librbd: add crypto image dispatch layer

This commit adds a crypto image dispatch layer, in addition to the existing crypto object dispatch layer.
The single purpose of this layer is to translate logical image offset to "on-disk" offsets,
given a crypto header which occupies the beginning of the image data.
This calculation is done via a new remap_extents api,
which is used in to wrap existing Striper translations between object and image extents.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
23 files changed:
src/librbd/CMakeLists.txt
src/librbd/cache/ObjectCacherWriteback.cc
src/librbd/crypto/CryptoImageDispatch.cc [new file with mode: 0644]
src/librbd/crypto/CryptoImageDispatch.h [new file with mode: 0644]
src/librbd/crypto/CryptoObjectDispatch.cc
src/librbd/deep_copy/ObjectCopyRequest.cc
src/librbd/io/CopyupRequest.cc
src/librbd/io/ImageDispatchInterface.h
src/librbd/io/ImageDispatcher.cc
src/librbd/io/ImageDispatcher.h
src/librbd/io/ImageDispatcherInterface.h
src/librbd/io/ImageRequest.cc
src/librbd/io/ObjectRequest.cc
src/librbd/io/Types.h
src/librbd/io/Utils.cc
src/librbd/io/Utils.h
src/librbd/journal/ObjectDispatch.cc
src/test/librbd/crypto/test_mock_CryptoObjectDispatch.cc
src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
src/test/librbd/io/test_mock_CopyupRequest.cc
src/test/librbd/io/test_mock_ImageRequest.cc
src/test/librbd/io/test_mock_ObjectRequest.cc
src/test/librbd/mock/io/MockImageDispatcher.h