HomeFreeBSD

Implement a new type of zfs receive: corrective receive (-c)

Description

Implement a new type of zfs receive: corrective receive (-c)

This type of recv is used to heal corrupted data when a replica
of the data already exists (in the form of a send file for example).
With the provided send stream, corrective receive will read from
disk blocks described by the WRITE records. When any of the reads
come back with ECKSUM we use the data from the corresponding WRITE
record to rewrite the corrupted block.

Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Paul Zuchowski <pzuchowski@datto.com>
Signed-off-by: Alek Pinchuk <apinchuk@axcient.com>
Closes #9372

Details

Provenance
Alek P <alek-p@users.noreply.github.com>Authored on Jul 28 2022, 10:52 PM
GitHub <noreply@github.com>Committed on Jul 28 2022, 10:52 PM
Parents
rG5fae33e04771: FreeBSD compile fix
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rGe8cf3a4f7662: Implement a new type of zfs receive: corrective receive (-c) (authored by Alek P <alek-p@users.noreply.github.com>).Jul 28 2022, 10:52 PM