]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr,mon: s/boost::optional/std::optional/ 42042/head
authorKefu Chai <kchai@redhat.com>
Sun, 27 Jun 2021 04:01:17 +0000 (12:01 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 29 Jun 2021 08:59:33 +0000 (16:59 +0800)
since the encoding schemes of boost::optional and std::optional are
identical, they can be used interchangeably.

Signed-off-by: Kefu Chai <kchai@redhat.com>
21 files changed:
src/client/Client.cc
src/librados/RadosClient.cc
src/messages/MKVData.h
src/messages/MStatfs.h
src/mgr/ActivePyModules.cc
src/mgr/ActivePyModules.h
src/mgr/BaseMgrModule.cc
src/mgr/PyModule.cc
src/mgr/PyModule.h
src/mgr/PyModuleRegistry.h
src/mon/ConfigMap.h
src/mon/ConfigMonitor.cc
src/mon/ConfigMonitor.h
src/mon/KVMonitor.cc
src/mon/KVMonitor.h
src/mon/MgrStatMonitor.h
src/mon/PGMap.cc
src/mon/PGMap.h
src/neorados/RADOS.cc
src/osdc/Objecter.cc
src/osdc/Objecter.h

index 3533f3d6f4b75a26e8548f7b6ff4ba826a0ae2fb..03b3ab06383fc06f66962df0e68c6f43788f6a09 100644 (file)
@@ -10774,7 +10774,7 @@ int Client::statfs(const char *path, struct statvfs *stbuf,
   if (data_pools.size() == 1) {
     objecter->get_fs_stats(stats, data_pools[0], &cond);
   } else {
-    objecter->get_fs_stats(stats, boost::optional<int64_t>(), &cond);
+    objecter->get_fs_stats(stats, std::optional<int64_t>(), &cond);
   }
 
   lock.unlock();
index 29f240440aeabcf842873408fc0d95abb21f389f..631067474054bb313721b51bd6f1fef56d9b72b1 100644 (file)
@@ -646,7 +646,7 @@ int librados::RadosClient::get_fs_stats(ceph_statfs& stats)
   int ret = 0;
   {
     std::lock_guard l{mylock};
-    objecter->get_fs_stats(stats, boost::optional<int64_t> (),
+    objecter->get_fs_stats(stats, std::optional<int64_t> (),
                           new C_SafeCond(mylock, cond, &done, &ret));
   }
   {
index f735f79d7eac8010a94cc9a09155b9d548a6d90f..d6182efd34e5b3ef510af8992fd274325fe00a1f 100644 (file)
@@ -15,7 +15,7 @@ public:
   bool incremental = false;
 
   // use transparent comparator so we can lookup in it by std::string_view keys
-  std::map<std::string,boost::optional<bufferlist>,std::less<>> data;
+  std::map<std::string,std::optional<bufferlist>,std::less<>> data;
 
   MKVData() : Message{MSG_KV_DATA, HEAD_VERSION, COMPAT_VERSION} { }
 
index 41b236a9eeea6d792adf81ce88dfa01e710b1c6e..46a9a3748dd5586b4a6d3d8659db7b6e84984c72 100644 (file)
@@ -16,6 +16,7 @@
 #ifndef CEPH_MSTATFS_H
 #define CEPH_MSTATFS_H
 
+#include <optional>
 #include <sys/statvfs.h>    /* or <sys/statfs.h> */
 #include "messages/PaxosServiceMessage.h"
 
@@ -26,10 +27,10 @@ private:
 
 public:
   uuid_d fsid;
-  boost::optional<int64_t> data_pool;
+  std::optional<int64_t> data_pool;
 
   MStatfs() : PaxosServiceMessage{CEPH_MSG_STATFS, 0, HEAD_VERSION, COMPAT_VERSION} {}
-  MStatfs(const uuid_d& f, ceph_tid_t t, boost::optional<int64_t> _data_pool,
+  MStatfs(const uuid_d& f, ceph_tid_t t, std::optional<int64_t> _data_pool,
          version_t v)
     : PaxosServiceMessage{CEPH_MSG_STATFS, v, HEAD_VERSION, COMPAT_VERSION},
       fsid(f), data_pool(_data_pool) {
@@ -60,7 +61,7 @@ public:
     if (header.version >= 2) {
       decode(data_pool, p);
     } else {
-      data_pool = boost::optional<int64_t> ();
+      data_pool = std::optional<int64_t> ();
     }
   }
 private:
index e78cc458fc724cce87cdfb1f8902554378361b80..58e51e30ad5416034d67ce6e3a6b90216d3d3e11 100644 (file)
@@ -661,7 +661,7 @@ PyObject *ActivePyModules::get_store_prefix(const std::string &module_name,
 }
 
 void ActivePyModules::set_store(const std::string &module_name,
-    const std::string &key, const boost::optional<std::string>& val)
+    const std::string &key, const std::optional<std::string>& val)
 {
   const std::string global_key = PyModule::mgr_store_prefix
                                    + module_name + "/" + key;
@@ -708,7 +708,7 @@ void ActivePyModules::set_store(const std::string &module_name,
 std::pair<int, std::string> ActivePyModules::set_config(
   const std::string &module_name,
   const std::string &key,
-  const boost::optional<std::string>& val)
+  const std::optional<std::string>& val)
 {
   return module_config.set_config(&monc, module_name, key, val);
 }
@@ -730,7 +730,7 @@ std::map<std::string, std::string> ActivePyModules::get_services() const
 void ActivePyModules::update_kv_data(
   const std::string prefix,
   bool incremental,
-  const map<std::string, boost::optional<bufferlist>, std::less<>>& data)
+  const map<std::string, std::optional<bufferlist>, std::less<>>& data)
 {
   std::lock_guard l(lock);
   bool do_config = false;
index d1e90f8bd3c0d402c3c3a5faf39354dab3241332..da21bb99fe343596fc389ae33df97ec293462729 100644 (file)
@@ -127,12 +127,12 @@ public:
   PyObject *get_store_prefix(const std::string &module_name,
                              const std::string &prefix) const;
   void set_store(const std::string &module_name,
-      const std::string &key, const boost::optional<std::string> &val);
+      const std::string &key, const std::optional<std::string> &val);
 
   bool get_config(const std::string &module_name,
       const std::string &key, std::string *val) const;
   std::pair<int, std::string> set_config(const std::string &module_name,
-      const std::string &key, const boost::optional<std::string> &val);
+      const std::string &key, const std::optional<std::string> &val);
 
   PyObject *get_typed_config(const std::string &module_name,
                             const std::string &key,
@@ -174,7 +174,7 @@ public:
   void update_kv_data(
     const std::string prefix,
     bool incremental,
-    const map<std::string, boost::optional<bufferlist>, std::less<>>& data);
+    const map<std::string, std::optional<bufferlist>, std::less<>>& data);
   void _refresh_config_map();
 
   // Public so that MonCommandCompletion can use it
index 233951853971ed11fec00bf3afe92bf87d151353..c1335bee1dd524ed30203af5efcbc2c8d823c5d5 100644 (file)
@@ -486,7 +486,7 @@ ceph_set_module_option(BaseMgrModule *self, PyObject *args)
     derr << "Invalid args!" << dendl;
     return nullptr;
   }
-  boost::optional<string> val;
+  std::optional<string> val;
   if (value) {
     val = value;
   }
@@ -529,7 +529,7 @@ ceph_store_set(BaseMgrModule *self, PyObject *args)
   if (!PyArg_ParseTuple(args, "sz:ceph_store_set", &key, &value)) {
     return nullptr;
   }
-  boost::optional<string> val;
+  std::optional<string> val;
   if (value) {
     val = value;
   }
index c554ff1d00aa28f8190f0980f809ebbb4e2cb76a..144f4354c2fab741caca4a82f9ac5f9f600488eb 100644 (file)
@@ -185,7 +185,7 @@ PyModuleConfig::~PyModuleConfig() = default;
 std::pair<int, std::string> PyModuleConfig::set_config(
     MonClient *monc,
     const std::string &module_name,
-    const std::string &key, const boost::optional<std::string>& val)
+    const std::string &key, const std::optional<std::string>& val)
 {
   const std::string global_key = "mgr/" + module_name + "/" + key;
   Command set_cmd;
index 037a7a22b004c5045c564ef76ee872606b977f33..fbb56080efa4a77746cf18f54068dd86ecbd594f 100644 (file)
@@ -181,6 +181,6 @@ public:
   std::pair<int, std::string> set_config(
     MonClient *monc,
     const std::string &module_name,
-    const std::string &key, const boost::optional<std::string>& val);
+    const std::string &key, const std::optional<std::string>& val);
 
 };
index 27590107bb7cac9406ae68a6c777d80660228b0b..19360b3fa2ded0916c5d4a464367e6e02248a16f 100644 (file)
@@ -69,7 +69,7 @@ public:
   void update_kv_data(
     const std::string prefix,
     bool incremental,
-    const map<std::string, boost::optional<bufferlist>, std::less<>>& data) {
+    const map<std::string, std::optional<bufferlist>, std::less<>>& data) {
     ceph_assert(active_modules);
     active_modules->update_kv_data(prefix, incremental, data);
   }
index 2ecdcc071336581873278acecacbfabcc926bc1f..a21e77265d65933609308a1a7b8b8a0d699ab422 100644 (file)
@@ -4,6 +4,7 @@
 #pragma once
 
 #include <map>
+#include <optional>
 #include <ostream>
 #include <string>
 
@@ -146,7 +147,7 @@ struct ConfigChangeSet {
   std::string name;
 
   // key -> (old value, new value)
-  std::map<std::string,std::pair<boost::optional<std::string>,boost::optional<std::string>>> diff;
+  std::map<std::string,std::pair<std::optional<std::string>,std::optional<std::string>>> diff;
 
   void dump(ceph::Formatter *f) const;
   void print(std::ostream& out) const;
index d4dc0f3dfd8d24062fb0bc5eb7c40f546893852f..39aa9f9b17737fea8ef9690b90f9238e5683b5a0 100644 (file)
@@ -587,7 +587,7 @@ bool ConfigMonitor::prepare_command(MonOpRequestRef op)
       bl.append(value);
       pending[key] = bl;
     } else {
-      pending[key] = boost::none;
+      pending[key].reset();
     }
     goto update;
   } else if (prefix == "config reset") {
@@ -614,7 +614,7 @@ bool ConfigMonitor::prepare_command(MonOpRequestRef op)
          bl.append(*i.second.first);
          pending[i.first] = bl;
        } else if (i.second.second) {
-         pending[i.first] = boost::none;
+         pending[i.first].reset();
        }
       }
     }
@@ -798,7 +798,7 @@ void ConfigMonitor::load_config()
       if (p != renamed_pacific.end()) {
        if (mon.monmap->min_mon_release >= ceph_release_t::pacific) {
          // schedule a cleanup
-         pending_cleanup[key] = boost::none;
+         pending_cleanup[key].reset();
          pending_cleanup[who + "/" + p->second] = it->value();
        }
        // continue loading under the new name
@@ -831,18 +831,18 @@ void ConfigMonitor::load_config()
     if (who.size() &&
        !ConfigMap::parse_mask(who, &section_name, &mopt.mask)) {
       derr << __func__ << " invalid mask for key " << key << dendl;
-      pending_cleanup[key] = boost::none;
+      pending_cleanup[key].reset();
     } else if (opt->has_flag(Option::FLAG_NO_MON_UPDATE)) {
       dout(10) << __func__ << " NO_MON_UPDATE option '"
               << name << "' = '" << value << "' for " << name
               << dendl;
-      pending_cleanup[key] = boost::none;
+      pending_cleanup[key].reset();
     } else {
       if (section_name.empty()) {
        // we prefer global/$option instead of just $option
        derr << __func__ << " adding global/ prefix to key '" << key << "'"
             << dendl;
-       pending_cleanup[key] = boost::none;
+       pending_cleanup[key].reset();
        pending_cleanup["global/"s + key] = it->value();
       }
       Section *section = &config_map.global;;
index e6c12a3d7f012d6bfdbbd1a934753b7cc82c4f0e..263bdb7a43079eb0cdf5c24ef245b1513c083816 100644 (file)
@@ -3,7 +3,7 @@
 
 #pragma once
 
-#include <boost/optional.hpp>
+#include <optional>
 
 #include "ConfigMap.h"
 #include "mon/PaxosService.h"
@@ -14,9 +14,9 @@ class ConfigMonitor : public PaxosService
 {
   version_t version = 0;
   ConfigMap config_map;
-  std::map<std::string,boost::optional<ceph::buffer::list>> pending;
+  std::map<std::string,std::optional<ceph::buffer::list>> pending;
   std::string pending_description;
-  std::map<std::string,boost::optional<ceph::buffer::list>> pending_cleanup;
+  std::map<std::string,std::optional<ceph::buffer::list>> pending_cleanup;
 
   std::map<std::string,ceph::buffer::list> current;
 
index bfe01bde92c3ec095823bb72894af8e8b77985b5..9092bd15d4d63e03f49fdc83d0558bb35d123688 100644 (file)
@@ -298,7 +298,7 @@ bool KVMonitor::prepare_command(MonOpRequestRef op)
   else if (prefix == "config-key del" ||
           prefix == "config-key rm") {
     ss << "key deleted";
-    pending[key] = boost::none;
+    pending[key].reset();
     goto update;
   }
   else {
@@ -375,7 +375,7 @@ void KVMonitor::do_osd_destroy(int32_t id, uuid_d& uuid)
     if (iter->key().find(prefix) != 0) {
       break;
     }
-    pending[iter->key()] = boost::none;
+    pending[iter->key()].reset();
   }
 
   propose_pending();
@@ -491,7 +491,7 @@ bool KVMonitor::maybe_send_update(Subscription *sub)
       int err = get_version(cur, bl);
       ceph_assert(err == 0);
 
-      std::map<std::string,boost::optional<ceph::buffer::list>> pending;
+      std::map<std::string,std::optional<ceph::buffer::list>> pending;
       auto p = bl.cbegin();
       ceph::decode(pending, p);
 
index c14c16380ee3f93d90f02b8c3cd3377bbf88907e..3796e9b0b5a62667c8e61f5d6d559aede9a1740b 100644 (file)
@@ -3,7 +3,7 @@
 
 #pragma once
 
-#include <boost/optional.hpp>
+#include <optional>
 
 #include "mon/PaxosService.h"
 
@@ -14,7 +14,7 @@ extern const std::string KV_PREFIX;
 class KVMonitor : public PaxosService
 {
   version_t version = 0;
-  std::map<std::string,boost::optional<ceph::buffer::list>> pending;
+  std::map<std::string,std::optional<ceph::buffer::list>> pending;
 
   bool _have_prefix(const string &prefix);
 
@@ -64,6 +64,6 @@ public:
     pending[key] = v;
   }
   void enqueue_rm(const std::string& key) {
-    pending[key] = boost::none;
+    pending[key].reset();
   }
 };
index 7c31f2c13f64f476e136f945e9cfc292e4b8b135..aa0ae49ffd61d4601ef25b70bb5a7854da02642d 100644 (file)
@@ -84,7 +84,7 @@ public:
   }
 
   ceph_statfs get_statfs(OSDMap& osdmap,
-                        boost::optional<int64_t> data_pool) const {
+                        std::optional<int64_t> data_pool) const {
     return digest.get_statfs(osdmap, data_pool);
   }
 
index c8ea4eabdcfc5874d172f7ace12e965d3ae2902d..057c79dca36d4516a0593025a3f07326c206c29d 100644 (file)
@@ -692,7 +692,7 @@ void PGMapDigest::pool_cache_io_rate_summary(ceph::Formatter *f, ostream *out,
 }
 
 ceph_statfs PGMapDigest::get_statfs(OSDMap &osdmap,
-                                   boost::optional<int64_t> data_pool) const
+                                   std::optional<int64_t> data_pool) const
 {
   ceph_statfs statfs;
   bool filter = false;
index 6488cc895c76f1791a41023d960723c273d40238..3bb0c3e09f52c9d7811ac45afd44981eca2f22be 100644 (file)
@@ -197,7 +197,7 @@ public:
   }
 
   ceph_statfs get_statfs(OSDMap &osdmap,
-                         boost::optional<int64_t> data_pool) const;
+                         std::optional<int64_t> data_pool) const;
 
   int64_t get_rule_avail(int ruleno) const {
     auto i = avail_space_by_rule.find(ruleno);
index c3666820acb6c8126242fe2354360a0dcecc9263..944386ba5dcefc86ae8a50e33a44896430313fde 100644 (file)
@@ -1077,7 +1077,7 @@ void RADOS::stat_pools(const std::vector<std::string>& pools,
 
 void RADOS::stat_fs(std::optional<std::int64_t> _pool,
                    std::unique_ptr<StatFSComp> c) {
-  boost::optional<int64_t> pool;
+  std::optional<int64_t> pool;
   if (_pool)
     pool = *pool;
   impl->objecter->get_fs_stats(
index d935b73adb948a32d77d914f1c5b044416e441e9..f66ba9fdcad219d97cf211985e0a106ca3cd0f30 100644 (file)
@@ -4211,7 +4211,7 @@ void Objecter::_finish_pool_stat_op(PoolStatOp *op, int r)
   delete op;
 }
 
-void Objecter::get_fs_stats(boost::optional<int64_t> poolid,
+void Objecter::get_fs_stats(std::optional<int64_t> poolid,
                            decltype(StatfsOp::onfinish)&& onfinish)
 {
   ldout(cct, 10) << "get_fs_stats" << dendl;
index 5af605913c06d1cbffa8e43791aa35a89534fdd4..de1e7adf319bcdcfe83f360d1bc30c6d8c507a9f 100644 (file)
@@ -2164,7 +2164,7 @@ public:
 
   struct StatfsOp {
     ceph_tid_t tid;
-    boost::optional<int64_t> data_pool;
+    std::optional<int64_t> data_pool;
     using OpSig = void(boost::system::error_code,
                       const struct ceph_statfs);
     using OpComp = ceph::async::Completion<OpSig>;
@@ -3783,10 +3783,10 @@ private:
   void _fs_stats_submit(StatfsOp *op);
 public:
   void handle_fs_stats_reply(MStatfsReply *m);
-  void get_fs_stats(boost::optional<int64_t> poolid,
+  void get_fs_stats(std::optional<int64_t> poolid,
                    decltype(StatfsOp::onfinish)&& onfinish);
   template<typename CompletionToken>
-  auto get_fs_stats(boost::optional<int64_t> poolid,
+  auto get_fs_stats(std::optional<int64_t> poolid,
                    CompletionToken&& token) {
     boost::asio::async_completion<CompletionToken, StatfsOp::OpSig> init(token);
     get_fs_stats(poolid,
@@ -3794,7 +3794,7 @@ public:
                                          std::move(init.completion_handler)));
     return init.result.get();
   }
-  void get_fs_stats(struct ceph_statfs& result, boost::optional<int64_t> poolid,
+  void get_fs_stats(struct ceph_statfs& result, std::optional<int64_t> poolid,
                    Context *onfinish) {
     get_fs_stats(poolid, OpContextVert(onfinish, result));
   }