]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: disallow classes with flags==0
authorSage Weil <sage@inktank.com>
Wed, 27 Mar 2013 20:19:03 +0000 (13:19 -0700)
committerSage Weil <sage@inktank.com>
Wed, 27 Mar 2013 20:22:12 +0000 (13:22 -0700)
They must be RD, WR, or something....

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 89c69016e1dddb9f3ca40fd699e4a995ef1e3eee)

src/osd/ClassHandler.cc

index f6a5acfbe810dfa71ddf18f2960cbe8423a536b1..6675e9e4fc40ec3d9e54e678c04c3e0f10c1e006 100644 (file)
@@ -142,6 +142,11 @@ ClassHandler::ClassMethod *ClassHandler::ClassData::register_method(const char *
                                                                    cls_method_call_t func)
 {
   /* no need for locking, called under the class_init mutex */
+  if (!flags) {
+    derr << "register_method " << name << "." << mname << " flags " << flags << " " << (void*)func
+        << " FAILED -- flags must be non-zero" << dendl;
+    return NULL;
+  }
   dout(10) << "register_method " << name << "." << mname << " flags " << flags << " " << (void*)func << dendl;
   ClassMethod& method = methods_map[mname];
   method.func = func;