Skip to content

Encode using blaum_roth segmentation fault. #6

@Zhonghui

Description

@Zhonghui

Encode using blaum_roth segmentation fault.
k=10, m=4, w=16.

====my patch====
diff -u ../Jerasure-master-ori/Jerasure-master/Examples/decoder.c Examples/decoder.c
--- ../Jerasure-master-ori/Jerasure-master/Examples/decoder.c 2011-11-27 07:24:10.000000000 +0800
+++ Examples/decoder.c 2013-02-04 10:54:34.375865798 +0800
@@ -229,7 +229,7 @@
bitmatrix = liberation_coding_bitmatrix(k, w);
break;
case Blaum_Roth:

  •       bitmatrix = blaum_roth_coding_bitmatrix(k, w);
    
  •       bitmatrix = blaum_roth_coding_bitmatrix(k, w, m);
        break;
    case Liber8tion:
        bitmatrix = liber8tion_coding_bitmatrix(k);
    
    diff -u ../Jerasure-master-ori/Jerasure-master/Examples/encoder.c Examples/encoder.c
    --- ../Jerasure-master-ori/Jerasure-master/Examples/encoder.c 2011-11-27 07:24:10.000000000 +0800
    +++ Examples/encoder.c 2013-02-04 10:51:58.887225000 +0800
    @@ -455,7 +455,7 @@
    schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
    break;
    case Blaum_Roth:
  •       bitmatrix = blaum_roth_coding_bitmatrix(k, w);
    
  •       bitmatrix = blaum_roth_coding_bitmatrix(k, w, m);
        schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
        break;
    case Liber8tion:
    
    diff -u ../Jerasure-master-ori/Jerasure-master/src/liberation.c src/liberation.c
    --- ../Jerasure-master-ori/Jerasure-master/src/liberation.c 2011-11-27 07:24:10.000000000 +0800
    +++ src/liberation.c 2013-02-04 10:53:04.594043000 +0800
    @@ -208,15 +208,15 @@
    return matrix;
    }

-int *blaum_roth_coding_bitmatrix(int k, int w)
+int *blaum_roth_coding_bitmatrix(int k, int w, int m0)
{
int *matrix, i, j, index, l, m, p;

if (k > w) return NULL ;

  • matrix = talloc(int, 2_k_w*w);
  • matrix = talloc(int, m0_k_w*w);
    if (matrix == NULL) return NULL;
  • bzero(matrix, sizeof(int)_2_k_w_w);
  • bzero(matrix, sizeof(int)_m0_k_w_w);

/* Set up identity matrices */

diff -u ../Jerasure-master-ori/Jerasure-master/src/liberation.h src/liberation.h
--- ../Jerasure-master-ori/Jerasure-master/src/liberation.h 2011-11-27 07:24:10.000000000 +0800
+++ src/liberation.h 2013-02-04 10:54:03.603866097 +0800
@@ -51,6 +51,6 @@

extern int *liberation_coding_bitmatrix(int k, int w);
extern int *liber8tion_coding_bitmatrix(int k);
-extern int *blaum_roth_coding_bitmatrix(int k, int w);
+extern int *blaum_roth_coding_bitmatrix(int k, int w, int m0);

#endif

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions