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
