]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd,mds: 'config unset' tell command
authorSage Weil <sage@redhat.com>
Fri, 5 Jan 2018 22:44:00 +0000 (16:44 -0600)
committerSage Weil <sage@redhat.com>
Tue, 6 Mar 2018 20:44:48 +0000 (14:44 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mds/MDSDaemon.cc
src/osd/OSD.cc

index 066592bce95d200e13efcd9bd4bda8b6c5eae22d..4dac3c921eab6a353585c5d6374e810923be5c4d 100644 (file)
@@ -659,6 +659,10 @@ COMMAND("config set " \
        "name=key,type=CephString name=value,type=CephString",
        "Set a configuration option at runtime (not persistent)",
        "mds", "*", "cli,rest")
+COMMAND("config unset " \
+       "name=key,type=CephString",
+       "Unset a configuration option at runtime (not persistent)",
+       "mds", "*", "cli,rest")
 COMMAND("exit",
        "Terminate this MDS",
        "mds", "*", "cli,rest")
@@ -799,6 +803,13 @@ int MDSDaemon::_handle_command(
     if (r == 0) {
       cct->_conf->apply_changes(nullptr);
     }
+  } else if (prefix == "config unset") {
+    std::string key;
+    cmd_getval(cct, cmdmap, "key", key);
+    r = cct->_conf->rm_val(key);
+    if (r == 0) {
+      cct->_conf->apply_changes(nullptr);
+    }
   } else if (prefix == "exit") {
     // We will send response before executing
     ss << "Exiting...";
index 009c5eb23bd0c7ba59b66a69385a00d472a508d5..7d89eefa6b96f1ce6248889ee5b649ada7d662ac 100644 (file)
@@ -5828,6 +5828,10 @@ COMMAND("config set " \
        "name=key,type=CephString name=value,type=CephString",
        "Set a configuration option at runtime (not persistent)",
        "osd", "rw", "cli,rest")
+COMMAND("config unset " \
+       "name=key,type=CephString",
+       "Unset a configuration option at runtime (not persistent)",
+       "osd", "rw", "cli,rest")
 COMMAND("cluster_log " \
        "name=level,type=CephChoices,strings=error,warning,info,debug " \
        "name=message,type=CephString,n=N",
@@ -5957,6 +5961,16 @@ void OSD::do_command(Connection *con, ceph_tid_t tid, vector<string>& cmd, buffe
     }
     osd_lock.Lock();
   }
+  else if (prefix == "config unset") {
+    std::string key;
+    cmd_getval(cct, cmdmap, "key", key);
+    osd_lock.Unlock();
+    r = cct->_conf->rm_val(key);
+    if (r == 0) {
+      cct->_conf->apply_changes(nullptr);
+    }
+    osd_lock.Lock();
+  }
   else if (prefix == "cluster_log") {
     vector<string> msg;
     cmd_getval(cct, cmdmap, "message", msg);