]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: switch ClassHandler::get_method() to std::string.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 30 Jul 2019 13:37:54 +0000 (15:37 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 23 Aug 2019 23:27:43 +0000 (01:27 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/osd/ClassHandler.cc
src/osd/ClassHandler.h
src/osd/OSD.cc
src/osd/PrimaryLogPG.cc

index e96198ee881243085208fe7d07d24a17ce7bc19e..0f9f5111c8b49ac0e7ed4e680e29b786cb39111e 100644 (file)
@@ -257,15 +257,17 @@ ClassHandler::ClassFilter *ClassHandler::ClassData::register_cxx_filter(
   return &filter;
 }
 
-ClassHandler::ClassMethod *ClassHandler::ClassData::_get_method(const char *mname)
+ClassHandler::ClassMethod *ClassHandler::ClassData::_get_method(
+    const std::string& mname)
 {
-  map<string, ClassHandler::ClassMethod>::iterator iter = methods_map.find(mname);
-  if (iter == methods_map.end())
-    return NULL;
-  return &(iter->second);
+  if (auto iter = methods_map.find(mname); iter != methods_map.end()) {
+    return &(iter->second);
+  } else {
+    return nullptr;
+  }
 }
 
-int ClassHandler::ClassData::get_method_flags(const char *mname)
+int ClassHandler::ClassData::get_method_flags(const std::string& mname)
 {
   std::lock_guard l(handler->mutex);
   ClassMethod *method = _get_method(mname);
index c70e9fbd25da99ed6dfe4ba24ec27f7acb7aa97f..cd992e082979f0e037a3d1fac19b8ac86693d73e 100644 (file)
@@ -69,7 +69,7 @@ public:
     std::set<ClassData *> dependencies;         /* our dependencies */
     std::set<ClassData *> missing_dependencies; /* only missing dependencies */
 
-    ClassMethod *_get_method(const char *mname);
+    ClassMethod *_get_method(const std::string& mname);
 
     ClassMethod *register_method(const char *mname,
                                  int flags,
@@ -83,11 +83,11 @@ public:
                                      cls_cxx_filter_factory_t fn);
     void unregister_filter(ClassFilter *method);
 
-    ClassMethod *get_method(const char *mname) {
+    ClassMethod *get_method(const std::string& mname) {
       std::lock_guard l(handler->mutex);
       return _get_method(mname);
     }
-    int get_method_flags(const char *mname);
+    int get_method_flags(const std::string& mname);
 
     ClassFilter *get_filter(const std::string &filter_name) {
       std::lock_guard l(handler->mutex);
index b99b670cfad121b594619ae7cd02db7b9649bc68..40afda69d33ea7184ea0fffe95e6f0b8195a677a 100644 (file)
@@ -9961,7 +9961,7 @@ int OSD::init_op_flags(OpRequestRef& op)
            r = -EIO;
          return r;
        }
-       int flags = cls->get_method_flags(mname.c_str());
+       int flags = cls->get_method_flags(mname);
        if (flags < 0) {
          if (flags == -ENOENT)
            r = -EOPNOTSUPP;
index b34e1afc8bee299e0f7629ece706d3af818b8601..a1be37f2d084e70e78ab11787b4a49c906528369 100644 (file)
@@ -5685,7 +5685,7 @@ int PrimaryLogPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
        result = ClassHandler::get_instance().open_class(cname, &cls);
        ceph_assert(result == 0);   // init_op_flags() already verified this works.
 
-       ClassHandler::ClassMethod *method = cls->get_method(mname.c_str());
+       ClassHandler::ClassMethod *method = cls->get_method(mname);
        if (!method) {
          dout(10) << "call method " << cname << "." << mname << " does not exist" << dendl;
          result = -EOPNOTSUPP;