summaryrefslogtreecommitdiff
path: root/src/erasurecode_helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/erasurecode_helpers.c')
-rw-r--r--src/erasurecode_helpers.c5
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);