diff options
Diffstat (limited to 'include/erasurecode/erasurecode_backend.h')
-rw-r--r-- | include/erasurecode/erasurecode_backend.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/erasurecode/erasurecode_backend.h b/include/erasurecode/erasurecode_backend.h index 956b2f1..66e858b 100644 --- a/include/erasurecode/erasurecode_backend.h +++ b/include/erasurecode/erasurecode_backend.h @@ -63,6 +63,7 @@ struct ec_backend_args { #define FRAGSNEEDED fragments_needed #define RECONSTRUCT reconstruct #define ELEMENTSIZE element_size +#define ISCOMPATIBLEWITH is_compatible_with #define FN_NAME(s) str(s) #define str(s) #s @@ -88,6 +89,8 @@ struct ec_backend_op_stubs { char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize); int (*ELEMENTSIZE)(void *desc); + + bool (*ISCOMPATIBLEWITH) (uint32_t version); }; /* ==~=*=~==~=*=~==~=*=~= backend struct definitions =~=*=~==~=*=~==~=*==~== */ @@ -110,6 +113,11 @@ struct ec_backend_common { * metadata_adder bytes are added to * the fragment size when allocating * data/parity fragment buffers */ + uint32_t ec_backend_version; /* The revision number of this back + * end. Is used to determine whether + * a specific instance of this backend + * accepts fragments generated by + * another version */ }; /* EC backend definition */ |