mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 19:57:43 +03:00
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
This commit is contained in:
@@ -1870,6 +1870,17 @@ This setting will not reduce the write size below a single block.
|
||||
Capped at a maximum of
|
||||
.Sy 32 MiB .
|
||||
.
|
||||
.It Sy zfs_recv_best_effort_corrective Ns = Ns Sy 0 Pq int
|
||||
When this variable is set to non-zero a corrective receive:
|
||||
.Bl -enum -compact -offset 4n -width "1."
|
||||
.It
|
||||
Does not enforce the restriction of source & destination snapshot GUIDs
|
||||
matching.
|
||||
.It
|
||||
If there is an error during healing, the healing receive is not
|
||||
terminated instead it moves on to the next record.
|
||||
.El
|
||||
.
|
||||
.It Sy zfs_override_estimate_recordsize Ns = Ns Sy 0 Ns | Ns 1 Pq ulong
|
||||
Setting this variable overrides the default logic for estimating block
|
||||
sizes when doing a
|
||||
|
||||
Reference in New Issue
Block a user