summaryrefslogtreecommitdiff
path: root/src/osd/ErasureCodePlugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/ErasureCodePlugin.cc')
-rw-r--r--src/osd/ErasureCodePlugin.cc5
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;
}