allanjude approved this pull request.


> +out:
+       /*
+        * Note, indirect vdevs don't handle a few important cases for split
+        * blocks when one side of a mirror is silently corrupt:
+        *
+        * When we read bad data and then retry the other side of the mirror,
+        * we should issue a repair write to fix the bad copy.
+        *
+        * When scrubbing, we should read all copies of the data (and
+        * repair any bad copies).
+        *
+        * We should generate ereports for any data we read with the wrong
+        * checksums.
+        */
+
+       zio_checksum_verified(zio);

In the case where we are out of mirrors to check, but have not found a good 
copy of the data, do we want to mark the checksum as having been verified by 
unsetting the ZIO_STAGE_CHECKSUM_VERIFY bit in zio->io_pipeline here? Does this 
save us re-checking the checksum again later, and finding that it still does 
not match?

Or should we skip this if we have set zio->io_error already?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/561#pullrequestreview-98426449
------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T05e845542b9791ed-Me8019f94308d077802cf6b9a
Powered by Topicbox: https://topicbox.com

Reply via email to