]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
blk/kernel: add plugin system for devices with compression and move VDO support into... 46037/head
authorMartin Ohmacht <mohmacht@us.ibm.com>
Wed, 28 Sep 2022 18:09:04 +0000 (14:09 -0400)
committerMartin Ohmacht <mohmacht@us.ibm.com>
Wed, 28 Sep 2022 18:09:04 +0000 (14:09 -0400)
commita6658c91bb96bed3e4033a6f15c500f5e0b6c4eb
tree6f5ea4b32f268a6b829ded6e5f87b41895c9a5f9
parent652bf75409c45c34ae939b241b00adba20f12869
blk/kernel: add plugin system for devices with compression and move VDO support into plugin

The current VDO support implementation is buried inside the common/blkdev.cc
with a simple interface used by KernelDevice. It is not easily extendable
and can not be easily used for other devices providing similar capabilities.
This patch adds a plugin system that is based in its structure on the
erasure code plugin system and moves the VDO support code into a VDO plugin.

Signed-off-by: Martin Ohmacht <mohmacht@us.ibm.com>
26 files changed:
ceph.spec.in
debian/ceph-base.install
debian/control
src/CMakeLists.txt
src/blk/BlockDevice.h
src/blk/CMakeLists.txt
src/blk/kernel/KernelDevice.cc
src/blk/kernel/KernelDevice.h
src/ceph_osd.cc
src/common/blkdev.cc
src/common/blkdev.h
src/common/options/osd.yaml.in
src/common/win32/blkdev.cc
src/extblkdev/CMakeLists.txt [new file with mode: 0644]
src/extblkdev/ExtBlkDevInterface.h [new file with mode: 0644]
src/extblkdev/ExtBlkDevPlugin.cc [new file with mode: 0644]
src/extblkdev/ExtBlkDevPlugin.h [new file with mode: 0644]
src/extblkdev/vdo/CMakeLists.txt [new file with mode: 0644]
src/extblkdev/vdo/ExtBlkDevPluginVdo.cc [new file with mode: 0644]
src/extblkdev/vdo/ExtBlkDevPluginVdo.h [new file with mode: 0644]
src/extblkdev/vdo/ExtBlkDevVdo.cc [new file with mode: 0644]
src/extblkdev/vdo/ExtBlkDevVdo.h [new file with mode: 0644]
src/global/global_init.cc
src/os/bluestore/BlueStore.cc
src/os/filestore/FileStore.cc
src/os/filestore/FileStore.h