diff options
author | Eric Lambert <eric_lambert@xyratex.com> | 2014-09-25 13:23:06 -0700 |
---|---|---|
committer | Eric Lambert <eric_lambert@xyratex.com> | 2014-09-25 13:23:06 -0700 |
commit | 06bb20ca1c9c7800ca3633ca1447deab68a5f0a4 (patch) | |
tree | 09b4839858f50d166c5bd40fcba38ab9ed1e1835 /src/erasurecode_helpers.c | |
parent | c5d467de2a481bc833a506fbfd2d101dabd8a486 (diff) | |
download | liberasurecode-06bb20ca1c9c7800ca3633ca1447deab68a5f0a4.tar.gz |
crc32 checksum now supported (prior to this commit checksum values were
not being placed into the fragment header).
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); |