freebsd-dev/sys/contrib
Martin Matuska f15e18a642 zfs: fix RAIDZ2/3 not healing parity with 2+ bad disks
From openzfs-master 62d4287f2 commit message:
  When scrubbing, (non-sequential) resilvering, or correcting a checksum
  error using RAIDZ parity, ZFS should heal any incorrect RAIDZ parity by
  overwriting it.  For example, if P disks are silently corrupted (P being
  the number of failures tolerated; e.g. RAIDZ2 has P=2), `zpool scrub`
  should detect and heal all the bad state on these disks, including
  parity.  This way if there is a subsequent failure we are fully
  protected.

  With RAIDZ2 or RAIDZ3, a block can have silent damage to a parity
  sector, and also damage (silent or known) to a data sector.  In this
  case the parity should be healed but it is not.

Cherry-picked from openzfs 62d4287f27
Patch Author:	Matthew Ahrens <matthew.ahrens@delphix.com>

MFC after:		3 days
Reviewed by:		delphij
Differential Revision:	https://reviews.freebsd.org/D28681
2021-02-15 10:50:10 +01:00
..
alpine-hal
ck Remove FreeBSD/armv4 specific bits from CK. 2020-04-13 23:16:32 +00:00
cloudabi
dev acpica: Import ACPICA 20210105. 2021-01-29 20:53:07 -05:00
device-tree Re-apply f81b2b9a8a to the new device-tree import 2021-01-15 20:07:13 +01:00
dpdk_rte_lpm Bring DPDK route lookups to FreeBSD. 2021-01-09 12:41:04 +00:00
edk2 Document upgrade procedure in FREEBSD-upgrade 2020-06-04 20:48:57 +00:00
ena-com Adjust ENA driver files to latest ena-com changes 2020-11-18 14:59:22 +00:00
ipfilter/netinet Fix non-IPv6 build post 57785538c6. 2021-02-09 17:18:25 -08:00
libb2
libfdt
libnv Rename nvpair.c to bsd_nvpair.c to not conflict with openzfs' version. 2020-06-27 00:55:03 +00:00
libsodium Add chacha20poly1305 support to crypto build 2020-02-16 00:03:09 +00:00
ncsw [PowerPC] [Book-E] Remove obsolete interrupt binding workaround 2020-02-25 22:03:30 +00:00
ngatm
octeon-sdk Fix misleading indentation warning in OCTEON1 kernel 2020-03-17 11:59:45 +00:00
openzfs zfs: fix RAIDZ2/3 not healing parity with 2+ bad disks 2021-02-15 10:50:10 +01:00
pcg-c/include pcg-c: Add 'static' to inline function definitions 2020-08-15 18:46:26 +00:00
rdma/krping Fix memory leaks in error paths in krping. 2021-01-08 12:35:55 +01:00
v4l
vchiq/interface vchiq: Rename timer func so they do not conflict with linuxkpi 2020-11-17 14:41:23 +00:00
x86emu
xz-embedded Modularize xz. 2019-02-26 19:55:03 +00:00
zlib MFV r351500: Fix CLEAR_HASH macro to be usable as a single statement. 2019-08-26 00:46:39 +00:00
zstd libprivatezstd: Restrict symbol visibility similar to upstream 2021-01-03 11:26:46 -08:00