Re: Plugins unification

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux