diff options
Diffstat (limited to 'src/erasurecode_helpers.c')
-rw-r--r-- | src/erasurecode_helpers.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/erasurecode_helpers.c b/src/erasurecode_helpers.c index d4484ce..6e4c882 100644 --- a/src/erasurecode_helpers.c +++ b/src/erasurecode_helpers.c @@ -341,7 +341,7 @@ int validate_fragment(char *buf) /* ==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~==~=*=~== */ -inline int set_checksum(char *buf, int blocksize) +inline int set_checksum(ec_checksum_type_t ct, char *buf, int blocksize) { fragment_header_t* header = (fragment_header_t*) buf; char *data = get_data_ptr_from_fragment(buf); @@ -352,6 +352,9 @@ inline int set_checksum(char *buf, int blocksize) return -1; } + header->meta.chksum_type = ct; + header->meta.chksum_mismatch = 0; + switch(header->meta.chksum_type) { case CHKSUM_CRC32: header->meta.chksum[0] = crc32(0, data, blocksize); |