From 89accffc588d02c601a9af396e4e2d29fb1a5a89 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Wed, 20 May 2020 14:36:49 -0400 Subject: [PATCH] librbd: initial plugin registry implementation The plugin registry will attempt to dynamically load the specified librbd plugins at image open time. Signed-off-by: Jason Dillaman --- src/common/options.cc | 5 ++++ src/librbd/CMakeLists.txt | 5 ++++ src/librbd/ImageCtx.cc | 6 +++- src/librbd/ImageCtx.h | 3 ++ src/librbd/PluginRegistry.cc | 52 +++++++++++++++++++++++++++++++++ src/librbd/PluginRegistry.h | 38 ++++++++++++++++++++++++ src/librbd/image/OpenRequest.cc | 30 +++++++++++++++++++ src/librbd/image/OpenRequest.h | 6 ++++ src/librbd/plugin/Types.h | 31 ++++++++++++++++++++ 9 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 src/librbd/PluginRegistry.cc create mode 100644 src/librbd/PluginRegistry.h create mode 100644 src/librbd/plugin/Types.h diff --git a/src/common/options.cc b/src/common/options.cc index c39095bfde89..99aad045c946 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -7513,6 +7513,11 @@ static std::vector