mirror of
https://github.com/ceph/ceph
synced 2025-03-29 23:09:47 +00:00
osd: switch ClassHandler::get_method() to std::string.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
This commit is contained in:
parent
5a8acb6868
commit
57330088d3
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user