technique == "blaum_roth"
ErasureCodeInterface (abstract)
|
-> ErasureCodeJerasure (abstract)
|
-> ErasureCodeJerasureLiberation
|
-> ErasureCodeJerasureBlaumRoth
| == blaum_roth
Derived from Liberation it only overloads the prepare method to use
blaum_roth_coding_bitmatrix.
https://github.com/dachary/ceph/tree/wip-5879 refs #5879
Signed-off-by: Loic Dachary <loic@dachary.org>
bitmatrix = liberation_coding_bitmatrix(k, w);
schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
}
+
+//
+// ErasureCodeJerasureBlaumRoth
+//
+void ErasureCodeJerasureBlaumRoth::prepare() {
+ bitmatrix = blaum_roth_coding_bitmatrix(k, w);
+ schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
+}
virtual void parse(const map<std::string,std::string> ¶meters);
virtual void prepare();
};
+
+class ErasureCodeJerasureBlaumRoth : public ErasureCodeJerasureLiberation {
+public:
+ ErasureCodeJerasureBlaumRoth() :
+ ErasureCodeJerasureLiberation("blaum_roth")
+ {}
+
+ virtual void prepare();
+};
#endif
ErasureCodeJerasureCauchyOrig,
ErasureCodeJerasureCauchyGood,
ErasureCodeJerasureLiberation,
+ ErasureCodeJerasureBlaumRoth,
> JerasureTypes;
TYPED_TEST_CASE(ErasureCodeTest, JerasureTypes);