From: Sage Weil Date: Sat, 17 Aug 2013 21:30:37 +0000 (-0700) Subject: objclass: move cls_log into class_api.cc X-Git-Tag: v0.68~43 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4677041da309234feb7b7df28e1d73db99d27c72;p=ceph.git objclass: move cls_log into class_api.cc 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 --- diff --git a/src/Makefile.am b/src/Makefile.am index cad0a592b831..5a0f3472080a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 diff --git a/src/objclass/class_api.cc b/src/objclass/class_api.cc index 64d61bdaa13c..6e8de53467f8 100644 --- a/src/objclass/class_api.cc +++ b/src/objclass/class_api.cc @@ -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 index 1387736be33e..000000000000 --- a/src/objclass/class_debug.cc +++ /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 -#include -#include - -#include - -#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; - } -}