#include "include/assert.h"
+#include "erasure-code/ErasureCodePlugin.h"
+
#define dout_subsys ceph_subsys_mon
Monitor *mon = NULL;
generic_server_usage();
}
+int preload_erasure_code()
+{
+ string directory = g_conf->osd_pool_default_erasure_code_directory;
+ string plugins = g_conf->osd_erasure_code_plugins;
+ stringstream ss;
+ int r = ErasureCodePluginRegistry::instance().preload(plugins,
+ directory,
+ ss);
+ if (r)
+ derr << ss.str() << dendl;
+ else
+ dout(10) << ss.str() << dendl;
+ return r;
+}
+
int main(int argc, const char **argv)
{
int err;
}
common_init_finish(g_ceph_context);
global_init_chdir(g_ceph_context);
+ if (preload_erasure_code() < -1)
+ prefork.exit(1);
}
MonitorDBStore *store = new MonitorDBStore(g_conf->mon_data);
--id $MON_ID \
--fsid $fsid \
--mkfs \
+ --osd-pool-default-erasure-code-directory=.libs \
--mon-data=$MON_DIR \
--mon-initial-members=$MON_ID \
--mon-host=$MONA \
--id $MON_ID \
--chdir= \
--mon-data=$MON_DIR \
+ --osd-pool-default-erasure-code-directory=.libs \
--log-file=$MON_DIR/log \
--mon-cluster-log-file=$MON_DIR/log \
--run-dir=$MON_DIR \
./ceph-mon \
--id $MON_ID \
+ --osd-pool-default-erasure-code-directory=.libs \
--mon-data=$MON_DIR \
--extract-monmap $MON_DIR/monmap
./ceph-mon \
--id $MON_ID \
--mkfs \
+ --osd-pool-default-erasure-code-directory=.libs \
--mon-data=$toodeep 2>&1 | tee $DIR/makedir.log
grep 'toodeep.*No such file' $DIR/makedir.log > /dev/null
rm $DIR/makedir.log