-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Double Computation Problem
When write requests flow through the gateway stack with data digest enabled:
-
NVMe-oF Transport Layer: Computes CRC32C checksums for incoming data to verify data integrity during transport. This computation occurs as part of the data digest validation process required by the NVMe-oF protocol.
-
SPDK NVMe-oF Framework: Processes the validated requests and forwards them to block device layers. The validated CRC32C is available but traditionally discarded after validation.
-
RBD Block Device Layer: would recompute CRC32C checksums before writing to Ceph RADOS, as Ceph also uses CRC32C for data integrity verification.
This approach resultes in double computation of CRC32C checksums:
- First computation at the NVMe-oF TCP transport layer (required for transport integrity via data digest)
- Second computation at the RBD layer before writing to Ceph (required for storage integrity)
Both computations use the same CRC32C algorithm on the same data, making the second computation redundant when data digest is enabled.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status