Okay, that’s pretty cool.
It’s basically a way to reverse the flow of a backup.
So you backup to your backup pool, and instead of pulling files from backup to replace corruption, or replacing a dataset with an older version from the backup, you can just heal the blocks from the blocks in the backup.
The neat thing is this corrective receive doesn’t affect the history of the pool. Ie it doesn’t generate changes. In other words the metadata.
You can imagine that TrueNAS could have an option to “repair from replication” which would run a replication in reverse when a scrub finds an issue…
Which is why in the GitHub commit this is mentioned
The next logical extension for part two of this work is to provide a way for a corrupted pool to tell a backup system to generate a minimal send stream in such a way as to enable the corrupted pool to be healed with this generated send stream.
Then it becomes super interesting for the “repair from backup” feature, as only the corrupted blocks would be pulled from
backup.