* Ceph distributed storage system
*
* Copyright (C) 2013,2014 Cloudwatt <libre.licensing@cloudwatt.com>
+ * Copyright (C) 2014 Red Hat <contact@redhat.com>
*
* Author: Loic Dachary <loic@dachary.org>
*
//
// ErasureCodeJerasureBlaumRoth
//
+bool ErasureCodeJerasureBlaumRoth::check_w(ostream *ss) const
+{
+ if (w <= 2 || !is_prime(w+1)) {
+ *ss << "w=" << w << " must be greater than two and "
+ << "w+1 must be prime" << std::endl;
+ return false;
+ } else {
+ return true;
+ }
+}
+
void ErasureCodeJerasureBlaumRoth::prepare()
{
bitmatrix = blaum_roth_coding_bitmatrix(k, w);
* Ceph distributed storage system
*
* Copyright (C) 2013, 2014 Cloudwatt <libre.licensing@cloudwatt.com>
+ * Copyright (C) 2014 Red Hat <contact@redhat.com>
*
* Author: Loic Dachary <loic@dachary.org>
*
public:
ErasureCodeJerasureBlaumRoth() :
ErasureCodeJerasureLiberation("blaum_roth")
- {}
+ {
+ DEFAULT_W = 6;
+ }
+ virtual bool check_w(ostream *ss) const;
virtual void prepare();
};
* Ceph distributed storage system
*
* Copyright (C) 2013,2014 Cloudwatt <libre.licensing@cloudwatt.com>
+ * Copyright (C) 2014 Red Hat <contact@redhat.com>
*
* Author: Loic Dachary <loic@dachary.org>
*
map<std::string,std::string> parameters;
parameters["k"] = "2";
parameters["m"] = "2";
- parameters["w"] = "7";
parameters["packetsize"] = "8";
parameters["jerasure-per-chunk-alignment"] =
per_chunk_alignments[per_chunk_alignment];