Go to file
Tom Caputi 440a3eb939 Fixes for #6639
Several issues were uncovered by running stress tests with zfs
encryption and raw sends in particular. The issues and their
associated fixes are as follows:

* arc_read_done() has the ability to chain several requests for
  the same block of data via the arc_callback_t struct. In these
  cases, the ARC would only use the first request's dsobj from
  the bookmark to decrypt the data. This is problematic because
  the first request might be a prefetch zio which is able to
  handle the key not being loaded, while the second might use a
  different key that it is sure will work. The fix here is to
  pass the dsobj with each individual arc_callback_t so that each
  request can attempt to decrypt the data separately.

* DRR_FREE and DRR_FREEOBJECT records in a send file were not
  having their transactions properly tagged as raw during raw
  sends, which caused a panic when the dbuf code attempted to
  decrypt these blocks.

* traverse_prefetch_metadata() did not properly set
  ZIO_FLAG_SPECULATIVE when issuing prefetch IOs.

* Added a few asserts and code cleanups to ensure these issues
  are more detectable in the future.

Signed-off-by: Tom Caputi <tcaputi@datto.com>
2017-10-11 16:55:50 -04:00
.github Update codecov.yml 2017-09-22 18:54:34 -07:00
cmd Fixes for #6639 2017-10-11 16:55:50 -04:00
config Encryption patch follow-up 2017-10-11 16:54:48 -04:00
contrib Encryption patch follow-up 2017-10-11 16:54:48 -04:00
etc vdev_id: extension for new scsi topology 2017-09-27 10:39:47 -07:00
include Fixes for #6639 2017-10-11 16:55:50 -04:00
lib Encryption patch follow-up 2017-10-11 16:54:48 -04:00
man Encryption patch follow-up 2017-10-11 16:54:48 -04:00
module Fixes for #6639 2017-10-11 16:55:50 -04:00
rpm Encryption patch follow-up 2017-10-11 16:54:48 -04:00
scripts Encryption patch follow-up 2017-10-11 16:54:48 -04:00
tests Encryption patch follow-up 2017-10-11 16:54:48 -04:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Add configure option to enable gcov analysis 2017-09-15 10:24:13 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Encryption patch follow-up 2017-10-11 16:54:48 -04:00
copy-builtin Allow c99 when building ZFS in the kernel tree 2017-03-27 12:31:15 -07:00
COPYRIGHT Encryption patch follow-up 2017-10-11 16:54:48 -04:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
Makefile.am Add support for "--enable-code-coverage" option 2017-09-22 18:49:57 -07:00
META Tag zfs-0.7.0 2017-07-26 10:13:25 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Update codecov.yml 2017-09-22 18:54:34 -07:00
TEST Run ztest for longer on "Coverage" builders 2017-09-26 12:29:32 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.