diff options
author | Kevin Greenan <kmgreen2@gmail.com> | 2014-08-21 12:15:32 -0700 |
---|---|---|
committer | Kevin Greenan <kmgreen2@gmail.com> | 2014-08-21 13:05:59 -0700 |
commit | c9af505400382a3117e2249acf308a08e97d48a9 (patch) | |
tree | ef1975921dbf311c600a535ed611c6a4abb1d464 /include | |
parent | c48eae68e3a9f0ca79e8a4bc1ff837f1d6db5b3a (diff) | |
download | liberasurecode-c9af505400382a3117e2249acf308a08e97d48a9.tar.gz |
Backend changes needed to honor "excluded fragments".
Diffstat (limited to 'include')
-rw-r--r-- | include/erasurecode/erasurecode_backend.h | 2 | ||||
-rw-r--r-- | include/xor_codes/xor_code.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/include/erasurecode/erasurecode_backend.h b/include/erasurecode/erasurecode_backend.h index 2d30371..a6e4440 100644 --- a/include/erasurecode/erasurecode_backend.h +++ b/include/erasurecode/erasurecode_backend.h @@ -83,7 +83,7 @@ struct ec_backend_op_stubs { int (*DECODE)(void *desc, char **data, char **parity, int *missing_idxs, int blocksize); int (*FRAGSNEEDED)(void *desc, - int *missing_idxs, int *fragments_needed); + int *missing_idxs, int * fragments_to_exclude, int *fragments_needed); int (*RECONSTRUCT)(void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize); diff --git a/include/xor_codes/xor_code.h b/include/xor_codes/xor_code.h index 912dcde..8a4a528 100644 --- a/include/xor_codes/xor_code.h +++ b/include/xor_codes/xor_code.h @@ -58,7 +58,7 @@ typedef struct xor_code_s int *data_bms; int (*decode)(struct xor_code_s *code_desc, char **data, char **parity, int *missing_idxs, int blocksize, int decode_parity); void (*encode)(struct xor_code_s *code_desc, char **data, char **parity, int blocksize); - int (*fragments_needed)(struct xor_code_s *code_desc, int *missing_idxs, int *fragments_needed); + int (*fragments_needed)(struct xor_code_s *code_desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed); } xor_code_t; int is_data_in_parity(int data_idx, unsigned int parity_bm); @@ -91,7 +91,7 @@ int index_of_connected_parity(xor_code_t *code_desc, int data_index, int *missin void remove_from_missing_list(int element, int *missing_list); -int* get_symbols_needed(xor_code_t *code_desc, int *missing_list); +int* get_symbols_needed(xor_code_t *code_desc, int *missing_list, int *fragments_to_exclude); void xor_reconstruct_one(xor_code_t *code_desc, char **data, char **parity, int *missing_idxs, int index_to_reconstruct, int blocksize); |