ErasureCodeProfile profile;
profile["mapping"] =
"__DDD__DD";
- profile["directory"] = ".libs";
const char *description_string =
"[ "
" [ \"_cDDD_cDD\", \"\" ],"
{
ErasureCodeLrc lrc(g_conf->erasure_code_dir);
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
profile["mapping"] =
"DD";
const char *description_string =
" [ \"_cDDD_cDD_\", \"directory=.libs\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
json_spirit::mArray description;
EXPECT_EQ(0, lrc.layers_description(profile, &description, &cerr));
EXPECT_EQ(0, lrc.layers_parse(description_string, description, &cerr));
" [ \"_____cDDD\", \"\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
}
profile["k"] = "4";
profile["m"] = "2";
profile["l"] = "3";
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
EXPECT_EQ((unsigned int)(4 + 2 + (4 + 2) / 3), lrc.get_chunk_count());
}
" [ \"_____cDDD\", \"\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
set<int> want_to_read;
want_to_read.insert(1);
" [ \"_____DDDDc\", \"\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
EXPECT_EQ(profile["mapping"].length(),
lrc.get_chunk_count());
" [ \"_____cDDD\", \"\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
EXPECT_EQ(profile["mapping"].length(),
lrc.get_chunk_count());
" [ \"____cDDD\", \"\" ]," // second local layer
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
EXPECT_EQ(4U, lrc.get_data_chunk_count());
unsigned int stripe_width = g_conf->osd_pool_erasure_code_stripe_width;
" [ \"____DDDc\", \"\" ],"
"]";
profile["layers"] = description_string;
- profile["directory"] = ".libs";
EXPECT_EQ(0, lrc.init(profile, &cerr));
EXPECT_EQ(4U, lrc.get_data_chunk_count());
unsigned int stripe_width = g_conf->osd_pool_erasure_code_stripe_width;
public:
virtual void *entry() {
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
ErasureCodeInterfaceRef erasure_code;
instance.factory("hangs",
{
ErasureCodeProfile profile;
string directory(".libs");
- profile["directory"] = directory;
ErasureCodeInterfaceRef erasure_code;
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
EXPECT_FALSE(erasure_code);
{
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
{
ErasureCodeInterfaceRef erasure_code;
EXPECT_FALSE(erasure_code);
{
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
{
ErasureCodeInterfaceRef erasure_code;
EXPECT_FALSE(erasure_code);
for(const char **technique = techniques; *technique; technique++) {
ErasureCodeInterfaceRef erasure_code;
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
profile["technique"] = *technique;
EXPECT_FALSE(erasure_code);
EXPECT_EQ(0, instance.factory("jerasure",
// load test plugins instead of actual plugins to assert the desired side effect
// happens
profile["jerasure-name"] = "test_jerasure";
- profile["directory"] = ".libs";
profile["technique"] = "reed_sol_van";
// all features are available, load the SSE4 plugin
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
profile["technique"] = "reed_sol_van";
profile["k"] = "2";
profile["m"] = "1";
{
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
ErasureCodeProfile profile;
- profile["directory"] = ".libs";
profile["mapping"] = "DD_";
profile["layers"] = "[ [ \"DDc\", \"\" ] ]";
ErasureCodeInterfaceRef erasure_code;
{
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
map<std::string,std::string> profile;
- profile["directory"] = ".libs";
{
ErasureCodeInterfaceRef erasure_code;
EXPECT_FALSE(erasure_code);
};
for(const char **technique = techniques; *technique; technique++) {
ErasureCodeInterfaceRef erasure_code;
- profile["directory"] = ".libs";
profile["technique"] = *technique;
EXPECT_FALSE(erasure_code);
EXPECT_EQ(0, instance.factory("shec",
// load test plugins instead of actual plugins to assert the desired side effect
// happens
profile["shec-name"] = "test_shec";
- profile["directory"] = ".libs";
profile["technique"] = "multiple";
// all features are available, load the SSE4 plugin
ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
map<std::string,std::string> profile;
- profile["directory"] = ".libs";
profile["technique"] = "multiple";
profile["k"] = "2";
profile["m"] = "1";
ErasureCodeProfile *profile = new ErasureCodeProfile();
(*profile)["plugin"] = "shec";
(*profile)["technique"] = "";
- (*profile)["directory"] = "/usr/lib64/ceph/erasure-code";
(*profile)["ruleset-failure-domain"] = "osd";
(*profile)["k"] = "4";
(*profile)["m"] = "3";
ErasureCodeShec::MULTIPLE);
ErasureCodeProfile *profile = new ErasureCodeProfile();
(*profile)["plugin"] = "shec";
- (*profile)["directory"] = "/usr/lib64/"; //unexpected value
(*profile)["technique"] = "";
(*profile)["ruleset-failure-domain"] = "osd";
(*profile)["k"] = "4";
ErasureCodeProfile *profile = new ErasureCodeProfile();
(*profile)["plugin"] = "shec";
(*profile)["technique"] = "";
- (*profile)["directory"] = "/usr/lib64/ceph/erasure-code";
(*profile)["ruleset-failure-domain"] = "osd";
(*profile)["k"] = k;
(*profile)["m"] = m;
std::string>();
(*profile)["plugin"] = "shec";
(*profile)["technique"] = "";
- (*profile)["directory"] = "/usr/lib64/ceph/erasure-code";
(*profile)["ruleset-failure-domain"] = "osd";
(*profile)["k"] = k;
(*profile)["m"] = m;
}
}
- if (profile.count("directory") == 0)
- profile["directory"] = ".libs";
-
return 0;
}
}
}
- if (profile.count("directory") == 0)
- profile["directory"] = ".libs";
-
in_size = vm["size"].as<int>();
max_iterations = vm["iterations"].as<int>();
plugin = vm["plugin"].as<string>();
} else {
profile[strs[0]] = strs[1];
}
- if (strs[0] != "directory")
- directory += " " + *i;
+ directory += " " + *i;
}
}
if (vm.count("path"))
directory = vm["path"].as<string>();
- if (profile.count("directory") == 0)
- profile["directory"] = ".libs";
-
return 0;
}