// -----------------------------------------------------------------------------
#include <algorithm>
-#include <errno.h>
+#include <cerrno>
// -----------------------------------------------------------------------------
#include "common/debug.h"
#include "ErasureCodeIsa.h"
#include "xor_op.h"
#include "include/ceph_assert.h"
using namespace std;
+using namespace ceph;
// -----------------------------------------------------------------------------
extern "C" {
#include "ErasureCodeIsaTableCache.h"
// -----------------------------------------------------------------------------
-class ErasureCodeIsa : public ErasureCode {
+class ErasureCodeIsa : public ceph::ErasureCode {
public:
enum eMatrix {
unsigned int get_chunk_size(unsigned int object_size) const override;
int encode_chunks(const std::set<int> &want_to_encode,
- std::map<int, bufferlist> *encoded) override;
+ std::map<int, ceph::buffer::list> *encoded) override;
int decode_chunks(const std::set<int> &want_to_read,
- const std::map<int, bufferlist> &chunks,
- std::map<int, bufferlist> *decoded) override;
+ const std::map<int, ceph::buffer::list> &chunks,
+ std::map<int, ceph::buffer::list> *decoded) override;
- int init(ErasureCodeProfile &profile, std::ostream *ss) override;
+ int init(ceph::ErasureCodeProfile &profile, std::ostream *ss) override;
virtual void isa_encode(char **data,
char **coding,
virtual void prepare() = 0;
private:
- virtual int parse(ErasureCodeProfile &profile,
+ virtual int parse(ceph::ErasureCodeProfile &profile,
std::ostream *ss) = 0;
};
void prepare() override;
private:
- int parse(ErasureCodeProfile &profile,
- std::ostream *ss) override;
+ int parse(ceph::ErasureCodeProfile &profile,
+ std::ostream *ss) override;
};
#endif
// -----------------------------------------------------------------------------
-static ostream&
+static std::ostream&
_tc_prefix(std::ostream* _dout)
{
return *_dout << "ErasureCodeIsaTableCache: ";
// we store a new table to the cache
- bufferptr cachetable;
+ ceph::buffer::ptr cachetable;
Mutex::Locker lock(codec_tables_guard);
if ((int) cachetable.length() != (k * (m + k)*32)) {
// we need to replace this with a different size buffer
- cachetable = buffer::create(k * (m + k)*32);
+ cachetable = ceph::buffer::create(k * (m + k)*32);
}
// remove from map
} else {
dout(12) << "[ store table ] = " << signature << dendl;
// allocate a new buffer
- cachetable = buffer::create(k * (m + k)*32);
+ cachetable = ceph::buffer::create(k * (m + k)*32);
decode_tbls_lru->push_front(signature);
(*decode_tbls_map)[signature] = std::make_pair(decode_tbls_lru->begin(), cachetable);
dout(12) << "[ cache size ] = " << decode_tbls_lru->size() << dendl;
static const int decoding_tables_lru_length = 2516;
- typedef std::pair<std::list<std::string>::iterator, bufferptr> lru_entry_t;
+ typedef std::pair<std::list<std::string>::iterator, ceph::buffer::ptr> lru_entry_t;
typedef std::map< int, unsigned char** > codec_table_t;
typedef std::map< int, codec_table_t > codec_tables_t;
typedef std::map< int, codec_tables_t > codec_technique_tables_t;
// -----------------------------------------------------------------------------
int ErasureCodePluginIsa::factory(const std::string &directory,
- ErasureCodeProfile &profile,
- ErasureCodeInterfaceRef *erasure_code,
- std::ostream *ss)
+ ceph::ErasureCodeProfile &profile,
+ ceph::ErasureCodeInterfaceRef *erasure_code,
+ std::ostream *ss)
{
- ErasureCodeIsa *interface;
+ ErasureCodeIsa *interface;
std::string t;
if (profile.find("technique") == profile.end())
profile["technique"] = "reed_sol_van";
delete interface;
return r;
}
- *erasure_code = ErasureCodeInterfaceRef(interface);
+ *erasure_code = ceph::ErasureCodeInterfaceRef(interface);
return 0;
}
int __erasure_code_init(char *plugin_name, char *directory)
{
- ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
+ auto& instance = ceph::ErasureCodePluginRegistry::instance();
return instance.add(plugin_name, new ErasureCodePluginIsa());
}
#include "erasure-code/ErasureCodePlugin.h"
#include "ErasureCodeIsaTableCache.h"
-class ErasureCodePluginIsa : public ErasureCodePlugin {
+class ErasureCodePluginIsa : public ceph::ErasureCodePlugin {
public:
ErasureCodeIsaTableCache tcache;
int factory(const std::string &directory,
- ErasureCodeProfile &profile,
- ErasureCodeInterfaceRef *erasure_code,
- std::ostream *ss) override;
+ ceph::ErasureCodeProfile &profile,
+ ceph::ErasureCodeInterfaceRef *erasure_code,
+ std::ostream *ss) override;
};
#endif