prefix == "config rm") {
string who;
string name, value;
+ bool force = false;
cmd_getval(g_ceph_context, cmdmap, "who", who);
cmd_getval(g_ceph_context, cmdmap, "name", name);
cmd_getval(g_ceph_context, cmdmap, "value", value);
+ cmd_getval(g_ceph_context, cmdmap, "force", force);
- if (prefix == "config set") {
+ if (prefix == "config set" && !force) {
const Option *opt = g_conf().find_option(name);
if (!opt) {
opt = mon->mgrmon()->find_module_option(name);
err = -EINVAL;
goto reply;
}
-
- Option::value_t real_value;
- string errstr;
- err = opt->parse_value(value, &real_value, &errstr, &value);
- if (err < 0) {
- ss << "error parsing value: " << errstr;
- goto reply;
+
+ if (opt) {
+ Option::value_t real_value;
+ string errstr;
+ err = opt->parse_value(value, &real_value, &errstr, &value);
+ if (err < 0) {
+ ss << "error parsing value: " << errstr;
+ goto reply;
+ }
}
}
COMMAND("config set" \
" name=who,type=CephString" \
" name=name,type=CephString" \
- " name=value,type=CephString", \
+ " name=value,type=CephString" \
+ " name=force,type=CephBool,req=false",
"Set a configuration option for one or more entities",
"config", "rw")
COMMAND("config rm" \