Add more control/visibility to spa_load_verify().
commitf2c5bc150e609a78185ea63c84fce7718f56e28a
authorAlexander Motin <mav@FreeBSD.org>
Fri, 4 Feb 2022 21:06:38 +0000 (4 16:06 -0500)
committerGitHub <noreply@github.com>
Fri, 4 Feb 2022 21:06:38 +0000 (4 13:06 -0800)
tree7edac1f0f1869281959bea3a3943527d2344ff56
parent2f14adacaa8211f4d628f905986005246602b2ac
Add more control/visibility to spa_load_verify().

Use error thresholds from policy to control whether to scrub data
and/or metadata.  If threshold is set to UINT64_MAX, then caller
probably does not care about result and we may skip that part.

By default import neither set the data error threshold nor read
the error counter, so skip the data scrub for faster import.
Metadata are still scrubbed and fail if even single error found.

While there just for symmetry return number of metadata errors in
case threshold is not set to zero and we haven't reached it.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #13022
include/sys/fs/zfs.h
module/zfs/spa.c