HomeFreeBSD

Fix reporting of CKSUM errors in indirect vdevs

Description

Fix reporting of CKSUM errors in indirect vdevs

When removing and subsequently reattaching a vdev, CKSUM errors may
occur as vdev_indirect_read_all() reads from all children of a mirror
in case of a resilver.

Fix this by checking whether a child is missing the data and setting a
flag (ic_error) which is then checked in vdev_indirect_repair() and
suppresses incrementing the checksum counter.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #11277

Details

Provenance
g_amanakis_yahoo.comAuthored on Dec 11 2020, 8:15 PM
GitHub <noreply@github.com>Committed on Dec 11 2020, 8:15 PM
Parents
rG1ad07b01bca9: Remove draid.d symlink from zfs_helpers.sh
Branches
Unknown
Tags
Unknown