Hi Adam, I believe https://github.com/ceph/ceph/pull/7661 is addressing part of your plan. Cheers On 29/07/2016 14:40, Adam Kupczyk wrote: > Hi cephers, > > I plan to unify ceph plugins. > > Currently we have 2 plugin trees: > 1) erasure-code/ErasureCodePluginRegistry > type of plugin: class ErasureCodePlugin > instances: class ErasureCodePluginJerasure > class ErasureCodePluginSelectJerasure > class ErasureCodePluginLrc > class ErasureCodePluginSelectShec > class ErasureCodePluginShec > 2) common/PluginRegistry > type of plugin: class Plugin > specialization: class CompressionPlugin > instances: class CompressionPluginSnappy > class CompressionPluginZlib > future: > specialization: class CryptoPlugin > instances: class CryptoPluginISAL > > The plan: > 1) Get rid of EraseCodePluginRegistry. > 2) Make EraseCodePlugin a specialization of class Plugin. > 3) PluginRegistry will use ceph configuration for places to search for plugins. > 4) PluginRegistry.load(...) will no longer get directory to search. > 5) PluginRegistry will only return std::shared_ptr<Plugin> references. > 6) PluginRegistry.remove(...) will only delete internal std::shared_ptr<Plugin>. > Actual dlclose() will be delayed until all references are deleted. > 7) static EraseCodePlugin::factory(...), the replacement of > EraseCodePluginRegistry::factory(...) > will return std::dynamic_pointer_cast<EraseCodePlugin>(located_plugin) > 8) Extend class Plugin to force instances to provide "type" and "name". > > > I would really enjoy comments if such unification is beneficial, and > comments what should be done better. > > Best Regards, > Adam Kupczyk > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Loïc Dachary, Artisan Logiciel Libre -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html