]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
objclass: move cls_log into class_api.cc
authorSage Weil <sage@inktank.com>
Sat, 17 Aug 2013 21:30:37 +0000 (14:30 -0700)
committerSage Weil <sage@inktank.com>
Sat, 17 Aug 2013 21:30:37 +0000 (14:30 -0700)
Not sure why but this seems to resolve a linking problem when loading
classes:

2013-08-17 13:28:19.015776 7fb2bcffa700  0 _load_class could not open class /usr/lib/rados-classes/libcls_hello.so (dlopen failed): /usr/lib/rados-classes/libcls_hello.so: undefined symbol: cls_log
2013-08-17 13:28:19.015786 7fb2bcffa700 -1 osd.4 12 class hello open got (5) Input/output error

In any case, it's simpler.

Signed-off-by: Sage Weil <sage@inktank.com>
src/Makefile.am
src/objclass/class_api.cc
src/objclass/class_debug.cc [deleted file]

index cad0a592b8313c8d0a34eb7712c493a34d801a47..5a0f3472080acebdcd7f2342ee7bd7358ef78df8 100644 (file)
@@ -1707,7 +1707,6 @@ libosd_a_SOURCES = \
        osd/ClassHandler.cc \
        osd/OpRequest.cc \
        osd/SnapMapper.cc \
-       objclass/class_debug.cc \
        objclass/class_api.cc
 libosd_a_CXXFLAGS= ${AM_CXXFLAGS}
 noinst_LIBRARIES += libosd.a
index 64d61bdaa13c97c5c52367f4b80b490bcdb54b24..6e8de53467f8692e0347a88d9612d853acd6a050 100644 (file)
@@ -2,6 +2,7 @@
 // vim: ts=8 sw=2 smarttab
 
 #include "common/config.h"
+#include "common/debug.h"
 
 #include "objclass/objclass.h"
 #include "osd/ReplicatedPG.h"
@@ -13,6 +14,8 @@
 
 static ClassHandler *ch;
 
+#define dout_subsys ceph_subsys_objclass
+
 void cls_initialize(ClassHandler *h)
 {
   ch = h;
@@ -602,3 +605,21 @@ void cls_cxx_subop_version(cls_method_context_t hctx, string *s)
 
   *s = buf;
 }
+
+int cls_log(int level, const char *format, ...)
+{
+   int size = 256;
+   va_list ap;
+   while (1) {
+     char buf[size];
+     va_start(ap, format);
+     int n = vsnprintf(buf, size, format, ap);
+     va_end(ap);
+#define MAX_SIZE 8196
+     if ((n > -1 && n < size) || size > MAX_SIZE) {
+       dout(level) << buf << dendl;
+       return n;
+     }
+     size *= 2;
+   }
+}
diff --git a/src/objclass/class_debug.cc b/src/objclass/class_debug.cc
deleted file mode 100644 (file)
index 1387736..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#include "common/config.h"
-
-#include "common/debug.h"
-#include "objclass/objclass.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include <iostream>
-
-#define dout_subsys ceph_subsys_objclass
-
-int cls_log(int level, const char *format, ...)
-{
-   int size = 256;
-   va_list ap;
-   while (1) {
-     char buf[size];
-     va_start(ap, format);
-     int n = vsnprintf(buf, size, format, ap);
-     va_end(ap);
-#define MAX_SIZE 8196
-     if ((n > -1 && n < size) || size > MAX_SIZE) {
-       dout(level) << buf << dendl;
-       return n;
-     }
-     size *= 2;
-   }
-}