diff options
Diffstat (limited to 'src/osd/ErasureCodePlugin.cc')
-rw-r--r-- | src/osd/ErasureCodePlugin.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osd/ErasureCodePlugin.cc b/src/osd/ErasureCodePlugin.cc index 10b65b2604b..d8b9ae0fbbd 100644 --- a/src/osd/ErasureCodePlugin.cc +++ b/src/osd/ErasureCodePlugin.cc @@ -36,7 +36,8 @@ static ostream& _prefix(std::ostream* _dout) ErasureCodePluginRegistry ErasureCodePluginRegistry::singleton; ErasureCodePluginRegistry::ErasureCodePluginRegistry() : - lock("ErasureCodePluginRegistry::lock") + lock("ErasureCodePluginRegistry::lock"), + loading(false) { } @@ -76,7 +77,9 @@ int ErasureCodePluginRegistry::factory(const std::string &plugin_name, int r = 0; ErasureCodePlugin *plugin = get(plugin_name); if (plugin == 0) { + loading = true; r = load(plugin_name, parameters, &plugin); + loading = false; if (r != 0) return r; } |