]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
erasure-code: ErasureCode base class
authorLoic Dachary <loic@dachary.org>
Sat, 31 May 2014 20:17:15 +0000 (22:17 +0200)
committerLoic Dachary <loic@dachary.org>
Wed, 6 Aug 2014 13:21:54 +0000 (15:21 +0200)
Add the ErasureCode base class for ErasureCodeJerasure and
ErasureCodeIsa, for methods that can be shared among all plugins.

http://tracker.ceph.com/issues/8496 Fixes: #8496

Signed-off-by: Loic Dachary <loic@dachary.org>
src/erasure-code/ErasureCode.cc [new file with mode: 0644]
src/erasure-code/ErasureCode.h [new file with mode: 0644]
src/erasure-code/Makefile.am
src/erasure-code/jerasure/ErasureCodeJerasure.h
src/erasure-code/jerasure/Makefile.am
src/test/erasure-code/ErasureCodeExample.h
src/test/erasure-code/Makefile.am

diff --git a/src/erasure-code/ErasureCode.cc b/src/erasure-code/ErasureCode.cc
new file mode 100644 (file)
index 0000000..8b43245
--- /dev/null
@@ -0,0 +1,17 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph distributed storage system
+ *
+ * Copyright (C) 2014 Cloudwatt <libre.licensing@cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic@dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#include "ErasureCode.h"
diff --git a/src/erasure-code/ErasureCode.h b/src/erasure-code/ErasureCode.h
new file mode 100644 (file)
index 0000000..25b17c7
--- /dev/null
@@ -0,0 +1,31 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph distributed storage system
+ *
+ * Copyright (C) 2014 Cloudwatt <libre.licensing@cloudwatt.com>
+ *
+ * Author: Loic Dachary <loic@dachary.org>
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ * 
+ */
+
+#ifndef CEPH_ERASURE_CODE_H
+#define CEPH_ERASURE_CODE_H
+
+#include "ErasureCodeInterface.h"
+
+namespace ceph {
+
+  class ErasureCode : public ErasureCodeInterface {
+  public:
+    virtual ~ErasureCode() {}
+
+  };
+}
+
+#endif
index 353620be905912c3e9c2acf63dbf69b57216e4db..5983ceaf395fecda00b307e2d81b736254483812 100644 (file)
@@ -11,11 +11,13 @@ endif # WITH_BETTER_YASM_ELF64
 
 liberasure_code_la_SOURCES = \
        erasure-code/ErasureCodePlugin.cc
+
 if LINUX
 liberasure_code_la_LIBADD = -ldl
 endif # LINUX
 noinst_LTLIBRARIES += liberasure_code.la
 
 noinst_HEADERS += \
+       erasure-code/ErasureCode.h \
        erasure-code/ErasureCodeInterface.h \
        erasure-code/ErasureCodePlugin.h
index 97257550b09ab8934d83d8f741238e2b5da5856b..cda7e5bce218f8378db818183ca39967720c80ed 100644 (file)
@@ -17,9 +17,9 @@
 #ifndef CEPH_ERASURE_CODE_JERASURE_H
 #define CEPH_ERASURE_CODE_JERASURE_H
 
-#include "erasure-code/ErasureCodeInterface.h"
+#include "erasure-code/ErasureCode.h"
 
-class ErasureCodeJerasure : public ErasureCodeInterface {
+class ErasureCodeJerasure : public ErasureCode {
 public:
   int k;
   int m;
index 9c31336cdee72cb4b1c3f0bc1deb27988bff96a0..914d1eda6cd8deff9edcf60b855a821f8c157564 100644 (file)
@@ -13,6 +13,7 @@ noinst_HEADERS += \
   erasure-code/jerasure/ErasureCodeJerasure.h
 
 jerasure_sources = \
+  erasure-code/ErasureCode.cc \
   erasure-code/jerasure/jerasure/src/cauchy.c \
   erasure-code/jerasure/jerasure/src/galois.c \
   erasure-code/jerasure/jerasure/src/jerasure.c \
index 089345ba3476fcf8425153a73d7d1a45d2cb736a..e07a14237268d959fce1f6ab3ce051adb41e759f 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "crush/CrushWrapper.h"
 #include "osd/osd_types.h"
-#include "erasure-code/ErasureCodeInterface.h"
+#include "erasure-code/ErasureCode.h"
 
 #define FIRST_DATA_CHUNK 0
 #define SECOND_DATA_CHUNK 1
@@ -35,7 +35,7 @@
 
 #define MINIMUM_TO_RECOVER 2u
 
-class ErasureCodeExample : public ErasureCodeInterface {
+class ErasureCodeExample : public ErasureCode {
 public:
   virtual ~ErasureCodeExample() {}
 
index b98343255a417f99b2f910f1072dcd4761169765..be1ac77de9dc03ea4aa6a471f4979263fddbd0f6 100644 (file)
@@ -73,7 +73,9 @@ libec_test_jerasure_generic_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libec_test_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
 erasure_codelib_LTLIBRARIES += libec_test_jerasure_generic.la
 
-unittest_erasure_code_plugin_SOURCES = test/erasure-code/TestErasureCodePlugin.cc 
+unittest_erasure_code_plugin_SOURCES = \
+       erasure-code/ErasureCode.cc \
+       test/erasure-code/TestErasureCodePlugin.cc 
 unittest_erasure_code_plugin_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_erasure_code_plugin_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
 if LINUX
@@ -106,26 +108,30 @@ endif
 check_PROGRAMS += unittest_erasure_code_plugin_jerasure
 
 if WITH_BETTER_YASM_ELF64
-unittest_erasure_code_isa_SOURCES = test/erasure-code/TestErasureCodeIsa.cc
+unittest_erasure_code_isa_SOURCES = \
+       erasure-code/ErasureCode.cc \
+       test/erasure-code/TestErasureCodeIsa.cc
 unittest_erasure_code_isa_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_erasure_code_isa_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) .libs/libec_isa.la .libs/liberasure_code.la
+unittest_erasure_code_isa_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) .libs/libec_isa.la $(LIBERASURE_CODE)
 if LINUX
 unittest_erasure_code_isa_LDADD += -ldl
 endif
 check_PROGRAMS += unittest_erasure_code_isa
 
 unittest_erasure_code_plugin_isa_SOURCES = \
+       erasure-code/ErasureCode.cc \
        test/erasure-code/TestErasureCodePluginIsa.cc
 unittest_erasure_code_plugin_isa_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
-unittest_erasure_code_plugin_isa_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) .libs/libec_isa.la .libs/liberasure_code.la
+unittest_erasure_code_plugin_isa_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) .libs/libec_isa.la $(LIBERASURE_CODE)
 if LINUX
 unittest_erasure_code_plugin_isa_LDADD += -ldl
 endif
 check_PROGRAMS += unittest_erasure_code_plugin_isa
 endif
 
-unittest_erasure_code_example_SOURCES = test/erasure-code/TestErasureCodeExample.cc 
-
+unittest_erasure_code_example_SOURCES = \
+       erasure-code/ErasureCode.cc \
+       test/erasure-code/TestErasureCodeExample.cc
 noinst_HEADERS += test/erasure-code/ErasureCodeExample.h
 unittest_erasure_code_example_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 unittest_erasure_code_example_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)