more checksumming in zfs send
Currently the DRR_END record in zfs send contains the only checksum for a send stream. In the current world this is a problem because you could get to the end of a many hour send only to find out a bit error occurred somewhere in the stream and threw off the checksum. Once resumable send/recv is integrated, this will be a bigger problem because when a send is interrupted we lose the checksumming information.
The solution is to checksum every record so we can detect checksum errors quickly and know exactly how much of our stream was properly checksummed when the send is interrupted. There is already unused space in all records except DRR_BEGIN where a checksum could fit and keep the stream backwards compatible. Also since a running checksum is already being calculated this should have minimal impact on performance.
Updated by Electric Monk about 7 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit 98110f08fa182032082d98be2ddb9391fcd62bf1 Author: Matthew Ahrens <firstname.lastname@example.org> Date: 2015-04-09T19:33:31.000Z 5746 more checksumming in zfs send Reviewed by: Christopher Siden <email@example.com> Reviewed by: George Wilson <firstname.lastname@example.org> Reviewed by: Bayard Bell <email@example.com> Approved by: Albert Lee <firstname.lastname@example.org>