mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
OpenZFS 9403 - assertion failed in arc_buf_destroy()
Assertion failed in arc_buf_destroy() when concurrently reading block with checksum error. Porting notes: * The ability to zinject decompression errors has been added, but this only works at the zio_decompress() level, where we have all of the info we need to match against the user's zinject options. * The decompress_fault test has been added to test the new zinject functionality * We attempted to set zio_decompress_fail_fraction to (1 << 18) in ztest for further test coverage. Although this did uncover a few low priority issues, this unfortuantely also causes ztest to ASSERT in many locations where the code is working correctly since it is designed to fail on IO errors. Developers can manually set this variable with the '-o' option to find and debug issues. Authored by: Matt Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Approved by: Matt Ahrens <mahrens@delphix.com> Ported-by: Tom Caputi <tcaputi@datto.com> OpenZFS-issue: https://illumos.org/issues/9403 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/fa98e487a9 Closes #7822
This commit is contained in:
committed by
Brian Behlendorf
parent
47ab01a18f
commit
c3bd3fb4ac
@@ -2511,6 +2511,19 @@ to limit potential SLOG device abuse by single active ZIL writer.
|
||||
Default value: \fB786,432\fR.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.na
|
||||
\fBzio_decompress_fail_fraction\fR (int)
|
||||
.ad
|
||||
.RS 12n
|
||||
If non-zero, this value represents the denominator of the probability that zfs
|
||||
should induce a decompression failure. For instance, for a 5% decompression
|
||||
failure rate, this value should be set to 20.
|
||||
.sp
|
||||
Default value: \fB0\fR.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.na
|
||||
|
||||
@@ -108,6 +108,7 @@ A vdev specified by path or GUID.
|
||||
.BI "\-e" " device_error"
|
||||
Specify
|
||||
.BR "checksum" " for an ECKSUM error,"
|
||||
.BR "decompress" " for a data decompression error,"
|
||||
.BR "decrypt" " for a data decryption error,"
|
||||
.BR "corrupt" " to flip a bit in the data after a read,"
|
||||
.BR "dtl" " for an ECHILD error,"
|
||||
|
||||
Reference in New Issue
Block a user