]> git.proxmox.com Git - mirror_zfs.git/commit
OpenZFS 9403 - assertion failed in arc_buf_destroy()
authorTom Caputi <tcaputi@datto.com>
Wed, 29 Aug 2018 18:33:33 +0000 (14:33 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 29 Aug 2018 18:33:33 +0000 (11:33 -0700)
commitc3bd3fb4ac49705819666055ff1206a9fa3d1b9e
treea10014775357e89313ea994c672685549e40fcaa
parent47ab01a18f55f89be7b3f340b6ec9101bf9e231c
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
12 files changed:
cmd/zinject/zinject.c
cmd/ztest/ztest.c
man/man5/zfs-module-parameters.5
man/man8/zinject.8
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/zio.c
module/zfs/zio_compress.c
tests/runfiles/linux.run
tests/zfs-tests/tests/functional/fault/Makefile.am
tests/zfs-tests/tests/functional/fault/decompress_fault.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/fault/decrypt_fault.ksh