From 4677041da309234feb7b7df28e1d73db99d27c72 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 17 Aug 2013 14:30:37 -0700 Subject: [PATCH] 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 --- src/Makefile.am | 1 - src/objclass/class_api.cc | 21 +++++++++++++++++++++ src/objclass/class_debug.cc | 33 --------------------------------- 3 files changed, 21 insertions(+), 34 deletions(-) delete mode 100644 src/objclass/class_debug.cc diff --git a/src/Makefile.am b/src/Makefile.am index cad0a592b83..5a0f3472080 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 64d61bdaa13..6e8de53467f 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 1387736be33..00000000000 --- 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; - } -} -- 2.47.3