add crc64nvme checksumming algorithm (fix #963)

This commit is contained in:
Alex Auvolat
2025-03-19 15:51:06 +01:00
parent fb6db494cc
commit a826c361a9
9 changed files with 111 additions and 0 deletions
+3
View File
@@ -282,6 +282,7 @@ mod v010 {
pub enum ChecksumAlgorithm {
Crc32,
Crc32c,
Crc64Nvme,
Sha1,
Sha256,
}
@@ -291,6 +292,7 @@ mod v010 {
pub enum ChecksumValue {
Crc32(#[serde(with = "serde_bytes")] [u8; 4]),
Crc32c(#[serde(with = "serde_bytes")] [u8; 4]),
Crc64Nvme(#[serde(with = "serde_bytes")] [u8; 8]),
Sha1(#[serde(with = "serde_bytes")] [u8; 20]),
Sha256(#[serde(with = "serde_bytes")] [u8; 32]),
}
@@ -492,6 +494,7 @@ impl ChecksumValue {
match self {
ChecksumValue::Crc32(_) => ChecksumAlgorithm::Crc32,
ChecksumValue::Crc32c(_) => ChecksumAlgorithm::Crc32c,
ChecksumValue::Crc64Nvme(_) => ChecksumAlgorithm::Crc64Nvme,
ChecksumValue::Sha1(_) => ChecksumAlgorithm::Sha1,
ChecksumValue::Sha256(_) => ChecksumAlgorithm::Sha256,
}